我需要帮助修复我的更改计算器的数学

I need help fixing the math for my change calculator

本文关键字:计算器 我的 帮助      更新时间:2023-10-16

这是我的代码:

#include <iostream>
#include <cmath>
using namespace std;
int GetQuarters(int cents)
{
    int remainder = cents / 25;
    int quarters = cents - remainder / 25;
    return quarters;
}
int GetDimes(int cents)
{
    int dimes = cents / 10;
    return dimes;
}
int GetNickels(int cents)
{
    int nickels = cents / 5;
    return nickels;
}
int GetPennies(int cents)
{
    return 0;
}
int main()
{
    int cents;
    cout << "How much change do you need? " << endl;
    cin >> cents;
    int quarters = 0, nickels = 0, dimes = 0, pennies = 0;
    quarters = GetQuarters(cents);
    cents = quarters * 25;
    nickels = GetNickels(cents);
    nickels = cents / 5;
    dimes = cents / 10;
    dimes = GetDimes(cents);
    pennies = GetPennies(cents);
    pennies = cents;

    cout << "Quarters: " << quarters << endl;
    cout << "Dimes:    " << dimes    << endl;
    cout << "Nickels:  " << nickels  << endl;
    cout << "Pennies:  " << quarters << endl;
    return 0;
}

问题包括:

- 季度值与便士相同

-Dime值乘以2.5而不是除以10

-nickel值乘以5,而不是除以5

其他信息:

- 该代码是为值0-99

设计的

在我看来,这就像一个家庭作业问题,有意和各种错误主要功能以错误的顺序执行操作,数学运算符和变量被切换。

尽管如此,本着回答您的问题的精神,您想要的是:

#include <iostream>
#include <cmath>
using namespace std;
int GetCoins(int& centsByRef, int denomination)
{
    int coins = centsByRef / denomination;
    centsByRef -= coins * denomination;
    return coins;
}
int main()
{
    int cents;
    cout << "How much change do you need? " << endl;
    cin >> cents;
    cout << "Quarters: " << GetCoins(cents, 25) << endl;
    cout << "Dimes:    " << GetCoins(cents, 10) << endl;
    cout << "Nickels:  " << GetCoins(cents, 5) << endl;
    cout << "Pennies:  " << GetCoins(cents, 1) << endl;
    return 0;
}

整数除以每种硬币的数量拟合到剩余的美分数,并且从剩余的数字中减去硬币的值。

您需要跟踪一分钱,因为计算每种硬币类型后的其余美分。不需要功能。这是您需要的全部代码:

quarters = cents/25;
cents -=  quarters * 25;
dimes = cents/10;
cents -= dimes * 10;
nickels = cents/5;
cents -= nickels * 5;
pennies = cents;