Răspuns :
Răspuns:
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
static void afisareNumarBacnoteReturnate(int restDePlata) {
// numărul de bacnote pe care trebuie să le restituie aparatul, inițial toate au valoarea 0
int nrBacnote1{}, nrBacnote5{}, nrBacnote10{}, nrBacnote50{};
// cât timp rest de plată este diferit de 0
while (restDePlata) {
// dacă restul de plată este mai mare sau egal decât 50 putem să oferim bacnote de 50 de lei
if (restDePlata >= 50) {
++nrBacnote50;
restDePlata -= 50;
}
// dacă restul de plată este mai mic decât 50 dar mai sau egal cu 10 putem restitui bacnote de 10
else if (restDePlata >= 10) {
++nrBacnote10;
restDePlata -= 10;
}
// ș.a.m.d. până când nu mai trebuie să oferim rest de plată
else if (restDePlata >= 5) {
++nrBacnote5;
restDePlata -= 5;
}
else if (restDePlata >= 1) {
++nrBacnote1;
restDePlata -= 1;
}
}
// la final afișăm câte bacnote a oferit aparatul
cout << "Bacnote restituite:\n"
<< "\t" << nrBacnote1 << " bacnote de 1 leu\n"
<< "\t" << nrBacnote5 << " bacnote de 5 lei\n"
<< "\t" << nrBacnote10 << " bacnote de 10 lei\n"
<< "\t" << nrBacnote50 << " bacnote de 50 lei"
<< endl;
}
int main() {
int costParcare, nrBacnote1, nrBacnote5, nrBacnote10, nrBacnote50, sumaIncasata{}, restDePlata;
// citim costul parcării
cout << "Introdu costul parcarii: "; cin >> costParcare;
// citim numărul de bacnote pe care le introducem de ex. 0 0 3 2
// 0 bacnote de 1 leu, 0 bacnote de 5 lei, 3 bacnote de 10 lei și 2 bacnote de 50 de lei
cout << "Introdu bacnotele introduse (1 leu, 5 lei, 10 lei, 50 lei): ";
cin >> nrBacnote1 >> nrBacnote5 >> nrBacnote10 >> nrBacnote50;
// calculăm suma pe care a încasat-o aparatul
sumaIncasata = 1 * nrBacnote1 + 5 * nrBacnote5 + 10 * nrBacnote10 + 50 * nrBacnote50;
// calculăm restul de plată
restDePlata = sumaIncasata - costParcare;
// afișăm informațiile
cout << "Costul parcarii: " << costParcare << endl;
cout << "Suma incasata: " << sumaIncasata << endl;
cout << "Rest de plata: " << restDePlata << endl;
afisareNumarBacnoteReturnate(restDePlata);
return 0;
}
Output-ul programului:
Introdu costul parcarii: 67
Introdu bacnotele introduse (1 leu, 5 lei, 10 lei, 50 lei): 0 0 2 1
Costul parcarii: 67
Suma incasata: 70
Rest de plata: 3
Bacnote restituite:
3 bacnote de 1 leu
0 bacnote de 5 lei
0 bacnote de 10 lei
0 bacnote de 50 lei
#include <iostream>
using namespace std;
int main() {
int cost;
int n50, n10, n5, n1;
int total, rest;
cout << "Cost parcare: ";
cin >> cost;
cout << "Bancnote (1,5,10,50) : ";
cin >> n1 >> n5 >> n10 >> n50;
total = n1 * 1 + n5 * 5 + n10 * 10 + n50 * 50;
rest = total - cost;
cout << "\n\nCost parcare : " << cost << " lei";
cout << "\nBancnote introduse:\n" << n1 << " x 1\n" << n5 << " x 5\n" << n10 << " x 10\n" << n50 << " x 50\n";
cout << "\nRest calculat : " << total << " - " << cost << " = " << rest;
if (rest != 0) {
n50 = rest / 50;
rest %= 50;
n10 = rest / 10;
rest %= 10;
n5 = rest / 5;
rest %= 5;
n1 = rest;
cout << "\nBancnote restituite: \n";
if (n50) cout << n50 << " x 50\n";
if (n10) cout << n10 << " x 10\n";
if (n5) cout << n5 << " x 5\n";
if (n1) cout << n1 << " x 1\n";
}
}

Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Ne vedem curând și nu uitați să ne adăugați la marcaje!