Stworzyłem program, który oblicza ilość nominałów, którą wydaję, a jeśli nie ma takiej ilość monet to wypisuję komunikat i kończy program. Cały czas jednak borykam się z błędem, którego nie jestem w stanie zlokalizować a przez którego cały program się wysypuję. Proszę o pomoc i wyjaśnienie czemu dochodzi do takiej sytuacji.
Błędy które są komunikowane: ,Floating point exception , Program finished with exit code 136
#include <iostream>
using namespace std;
int main(){
int nominaly[15]={50000,20000,10000,5000,2000,1000,500,200,100,50,20,10,5,2,1};
int ileWydano[15]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int iloscDostepnychNominalow[15]={5,2,3,5,6,32,12,22,13,12,222,123,1234,123,1111};
double reszta;
cout<<"Z czego wydac reszte? = ";
cin>>reszta;
int resztaInt = (int)(reszta*100);
int i=0;
int suma = 0;
for (i=0; i<15; i++){
suma = suma + (iloscDostepnychNominalow[i]*nominaly[i]);
}
if (suma > resztaInt){
while(resztaInt>0){
if(iloscDostepnychNominalow[i] >= resztaInt/nominaly[i]){
ileWydano[i]=(resztaInt/nominaly[i]);
resztaInt = resztaInt%nominaly[i];
}
else{
ileWydano[i]=0;
}
i++;
}
cout<<"nominaly="<<endl;
for(int i=0; i<15;i++){
cout<<"nominal="<<(double)nominaly[i]/100<< "PLN,\t liczba="<<ileWydano[i]<<endl;
}
}
else cout<<"NIE MOZNA WYDAC RESZTY -- BRAK NOMINALOW";
return 0;
system("pause");
}