Mam zdanaie w kodzie C++ który poniżej jest trzeba zmienić aby:

Zmodyfikuj kod programu tak, aby można było do niego wprowadzać kwotę

reszty większą niż 10 zł, a resztę można było wydawać z użyciem monet i banknotów.


#include


using namespace std;


const int N = 9;


const int NOMINALY[N] = {500, 200, 100, 50, 20, 10, 5, 2, 1};


void WydajReszte(int reszta)


{


int i = 0;


while (reszta>0)


{


if (reszta >= NOMINALY[i])


{


cout << NOMINALY[i]/100. 0 << endl;


reszta = reszta - NOMINALY[i];


}


else i++;


}


}


int main()


{


int reszta_zlote, reszta_grosze;


cout << "Podaj liczbe zlotych reszty: ";


cin >> reszta_zlote;


cout << "Podaj liczbe groszy reszty: ";


cin >> reszta_grosze;


WydajReszte(reszta_zlote*100 + reszta_grosze);


return 0;


}.


Odpowiedź :

Odpowiedź:

#include <iostream>

using namespace std;

const int N = 9;

const int NOMINALY[N] = { 500, 200, 100, 50, 20, 10, 5, 2, 1 };

bool grosze;

void WydajReszte(int reszta)

{

int i = 0;

int x = 100;

while (reszta > 0)

{

 if (reszta >= NOMINALY[i]*x)

 {

  cout << NOMINALY[i]*x/ 100.0 << endl;

  reszta-= NOMINALY[i]*x;

 }

 else i++;

 if(!grosze)

  if (reszta < 100) { x = 1; i = 0; grosze = true; }

}

}

int main()

{

int reszta_zlote, reszta_grosze;

cout << "Podaj liczbe zlotych reszty: ";

cin >> reszta_zlote;

cout << "Podaj liczbe groszy reszty: ";

cin >> reszta_grosze;

WydajReszte(reszta_zlote * 100 + reszta_grosze);

return 0;

}

Wyjaśnienie: