Daniel
Daniel

Reputation: 3

Improving my code for a challenge in C++, newbie here

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

Answers (1)

pinrr
pinrr

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

Related Questions