【发布时间】:2016-07-16 11:02:10
【问题描述】:
我是一名初学者,我需要一些关于我的代码如何输出正确语法的想法。
如果我输入数字 0)。 如果不存在四分之一或一角钱它不输出“,”,我将如何做到这一点?
#include <cstdio>
#include <iostream>
using namespace std;
void compute_coins(int coin_value, int& number, int& amount_left);
int main(){
int amount_left, number;
while(amount_left > 1 || amount_left < 99){
cout << "Enter number of cents (or zero to quit):" << endl;
cin >> amount_left;
if (amount_left == 0){
break;
}
else{
cout << amount_left << " cents can be given as ";
compute_coins(25, number, amount_left);
if (number == 1){
cout << "1 quarter";
}
else if (number > 0){
cout << number << " quarters";
}
if (amount_left > 0){
cout << ", ";
}
compute_coins(10, number, amount_left);
if (number == 1){
cout << "1 dime";
}
else if (number > 1){
cout << number << " dimes";
}
if (amount_left > 0){
cout << ", ";
}
compute_coins(1, number, amount_left);
if (number == 1){
cout << "1 penny";
}
else if (number > 1){
cout << number << " pennies";
}
std:: cout << ".";
}
cout << endl;
}
return 0;
}
void compute_coins(int coin_value, int& number, int& amount_left){
number = amount_left/coin_value;
amount_left = amount_left - (number * coin_value);
}
【问题讨论】:
-
当
amount_left在检查它们之前为零时,你的代码中会发生什么情况? -
我尝试将 amount_left if else 参数放在循环之外。但是我在每个输出的末尾只得到一个句点,如果有一角钱或一分钱,我就没有逗号。
-
你可以试试。在调试器中单步执行,看看发生了什么。
-
我仍然找不到我的错误
标签: c++