如何更正收银机程序的输出?
How to correct the output of my cash register program?
编写一个C++程序来计算收银机抽屉里的现金。 你要在抽屉里数每个面额的钞票的编号。 调用一个函数,通过接受面额和钞票数量并返回金额来确定每种面额的金额。该函数还可以接受每个面额的硬币数量和硬币的数量并返回金额。
你的程序应该写每个面额,纸币/硬币的数量, 每个金额和抽屉中的总金额。
同时写入屏幕和输出数据。格式为:
Denomination Number Amount
------------------------------
.
.
.
.
.
.
.
------------------------------
Total $
int main() {
setprecision (2);
string d;
int t;
int tpenny;
int tnickel;
int tdime;
int tquarter;
int tone;
int tfive;
int tten;
int ttwenty;
int tfifty;
int thundred;
double penny;
double nickel;
double dime;
double quarter;
double one;
double five;
double ten;
double twenty;
double fifty;
double hundred;
cout << "Enter denomination and amount of bills/coins" << endl;
cout << "(i.e. 'penny 5' = 0.05c, 'quarter 3' = 0.75c, 'twenty 2' = $40.00)" << endl;
cout << "When all amounts have been entered, enter 'done'" << endl;
while (d != "done") {
double total = penny + nickel + dime + quarter + one + five + ten + twenty + hundred;
cin >> d;
if (d == "done") {
cout << "Denomination " << "Number " << "Amount" << endl;
cout << "-----------------------------------" << endl;
cout << "Penny: " << tpenny << " " << "$" << penny << endl;
cout << "Nickel: " << tnickel << " " << "$" << nickel << endl;
cout << "Dime: " << tdime << " " << "$" << dime << endl;
cout << "Quarter: " << tquarter << " " << "$" << quarter << endl;
cout << "One: " << tone << " " << "$" << one << endl;
cout << "Five: " << tfive << " " << "$" << five << endl;
cout << "Ten: " << tten << " " << "$" << ten << endl;
cout << "Twenty: " << ttwenty << " " << "$" << twenty << endl;
cout << "Fifty: " << tfifty << " " << "$" << fifty << endl;
cout << "Hundred: " << thundred << " " << "$" << hundred << endl;
cout << "-----------------------------------" << endl;
cout << "Total: " << "$" << total << endl;
}
else {
cout << "Enter additional currency. (if done, type 'done')" << endl;
cin >> t;
if (d == "penny") {
tpenny = t;
penny = value (d, t);
}
if (d == "nickel") {
tnickel = t;
nickel = value (d, t);
}
if (d == "dime") {
tdime = t;
dime = value (d, t);
}
if (d == "quarter") {
tquarter = t;
quarter = value (d, t);
}
if (d == "one") {
tone = t;
one = value (d, t);
}
if (d == "five") {
tfive = t;
five = value (d, t);
}
if (d == "ten") {
tten = t;
ten = value (d, t);
}
if (d == "twenty") {
ttwenty = t;
twenty = value (d, t);
}
if (d == "fifty") {
tfifty = t;
fifty = value (d, t);
}
if (d == "hundred") {
thundred = t;
hundred = value (d, t);
}
}
}
return 0;
}
我目前编写代码的方式有效,但前提是为每种货币输入一个值。例如,如果我不输入 5 的值,则我的 Amount 是某个疯狂的数字,而 Number 的默认值不是 0。
您对如何解决此问题有任何想法吗?值也是一个函数,它读取一个字符串和一个整数(即便士 5)并返回货币值。
您是否尝试过将所有声明的变量初始化为 0?某些语言/编译器集不会试图认为您希望新变量的值为 0,并且您将从之前获得该内存位置中的任何内容。
相关文章:
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- 显示错误输出的简单数组排序程序
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 如何从Windows应用程序输出到标准?
- 我写了一个C++程序来模拟Enigma机器.我没有得到输出
- 如何使用C++读取另一个程序中的源代码输出
- 为什么我的C++程序的程序集输出充满了 .ascii,没有汇编代码?
- 为什么这个程序的输出不如预期
- 在由Sublime文本3编译后在cmd上显示Java程序输出
- C++ 每次运行程序时我都会"nan"输出的问题
- 如何从 Win32 C++ 应用程序输出到父控制台窗口?
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 而循环:简单的除法程序输出零,不明白为什么
- 如何在 html 页面中插入 cgi 应用程序的输出?
- C 中的输出程序无明显的原因是白色的
- C++:更改简单输出程序的字体
- C++ 简单的输入/输出程序 + 枚举器
- C++字母等效数字代码输出程序
- 编译输出程序集