Reputation: 3
I wrote this small program to calculate change. Just wanted to ask if there is a way to refactor it or write it in a more simple/better way? I'm new to programming, this was a code challenge from Udemy.
Trying to squeze as much as I can from each challenge.
#include <iostream>
using namespace std;
int main() {
const int dollars {100};
const int quarters {25};
const int dimes {10};
const int nickles {5};
const int penny {1};
int ch_dollars{0}, ch_quarters{0}, ch_dimes{0}, ch_nickles{0}, ch_penny{0}, change{0}, user_input{0};
cout << "Please enter the amount in cents: ";
cin >> user_input;
cout << endl;
change = user_input;
ch_dollars = (change - (change % dollars)) / dollars;
change %= dollars;
ch_quarters = (change - (change % quarters)) / quarters;
change %= quarters;
ch_dimes = (change - (change % dimes)) / dimes;
change %= dimes;
ch_nickles = (change - (change % nickles)) / nickles;
change %= nickles;
ch_penny = (change - (change % penny)) / penny;
cout << "You entered " << user_input << ", your change is: " << endl;
cout << "Dollars: " << ch_dollars << endl;
cout << "Quarters: " << ch_quarters << endl;
cout << "Dimes: " << ch_dimes << endl;
cout << "Nickles: " << ch_nickles << endl;
cout << "Pennies: " << ch_penny << endl;
return 0;
}
Upvotes: 0
Views: 77
Reputation: 26
ch_dollars = change / dollars;
change %= dollars;
ch_quarters = change / quarters;
change %= quarters;
ch_dimes = change / dimes;
change %= dimes;
ch_nickles = change / nickles;
change %= nickles;
ch_penny = change;
Upvotes: 1