I wrote this change calculator, and everything works fine except the case when I input $2.30 as value for changeAmount
. How can I fix it?
This the code:
#include <iostream>
using namespace std;
int main()
{
double changeAmount;
int fives;
int ones;
int quarters;
int dimes;
int nickels;
int pennies;
cout <<"*** A Very Simple Change Machine ***" <<endl;
cout <<endl;
cout <<"Enter change amount --> ";
cin >>changeAmount;
cout <<"The change amount is $" <<changeAmount <<" ." <<endl;
cout <<endl;
if (changeAmount < 0)
{
cout << "Invalid amount." <<endl;
}
else
{
changeAmount = changeAmount * 100;
changeAmount = int(changeAmount);
fives = changeAmount / 500 ;
changeAmount -= fives * 500;
ones = changeAmount / 100 ;
changeAmount -= ones * 100;
quarters = changeAmount / 25;
changeAmount -= quarters * 25;
dimes = changeAmount / 10;
changeAmount -= dimes * 10;
nickels = changeAmount / 5;
changeAmount -= nickels * 5;
pennies = changeAmount / 1 ;
changeAmount -= pennies * 1;
cout <<"Your change is given as :" <<endl;
cout <<" $5 bill (s) : " <<fives <<endl;
cout <<" $1 bill (s) : " <<ones <<endl;
cout <<" quarter (s) : " <<quarters <<endl;
cout <<" dime (s) : " <<dimes <<endl;
cout <<" nickel (s) : " <<nickels <<endl;
cout <<" penny (ies) : " <<pennies <<endl;
}
return 0;
}