简体   繁体   English

改进我的代码以应对C ++挑战

[英]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. 我是编程新手,这是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;
}
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;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM