使用单个变量对字符输入进行计数
Count character input using a single variable
-
>我正在尝试计算字符的输入,例如:1 1 1 1 1 2 2 2 2 5 5 5 5 5 5 10 10 10,但我无法摆脱循环并开始新的倒计时。
-
当我尝试在屏幕上仅记录总美分数时,cout 在每个周期中总是重复,如何在周期结束时只获得全部金额?
-
如何更改代码以简化数字计算?
有什么建议吗?
int main(){
int cent = 0;
int cent_input = 0;
int cent_quantity = 0;
int downgrade_to_one = 0;
do{
while(true){
cout << "nEnter number: " && cin >> cent;
switch(cent){
case 1:
downgrade_to_one = cent + downgrade_to_one;
if (cent == 0)
cent + 1;
cout << "nYou have: " << downgrade_to_one << " one cent monets.";
break;
case 2:
cent_input = (cent_input + cent) / cent;
cent_quantity = cent_quantity + cent_input;
cout << "nYou have: " << cent_quantity << " two cent monets.";
case 5:
cent_input = (cent_input + cent) / cent;
cent_quantity = cent_quantity + cent_input;
cout << "nYou have: " << cent_quantity << " five cent monets.";
break;
case 10:
cent_input = (cent_input + cent) / cent;
cent_quantity = cent_quantity + cent_input;
cout << "nYou have: " << cent_quantity << " ten cent monets.";
break;
case 25:
cent_input = (cent_input + cent) / cent;
cent_quantity = cent_quantity + cent_input;
cout << "nYou have: " << cent_quantity << " twentyfive cent monets.";
break;
case 50:
cent_input = (cent_input + cent) / cent;
cent_quantity = cent_quantity + cent_input;
cout << "nYou have: " << cent_quantity << " fifty cent monets.";
break;
default:
cout << "nUndefined input!";
}
}
}
while(false);
}
谢谢大家,他们对我的问题投了反对票。我自己解决了这个问题。
int main(){
int cent = 0;
int one_cent_amount = 0;
int two_cent_amount = 0;
int five_cent_amount = 0;
int ten_cent_amount = 0;
int twentyfive_cent_amount = 0;
int fifty_cent_amount = 0;
int cent_input = 0;
int cent_quantity = 1;
int dollars = 0;
int cents = 0;
int entire_quantity = 0;
cout << "nEnter number: ";
while(cin >> cent){
switch(cent){
case 1:
if(cent == 0)
cent + 1;
one_cent_amount = cent + one_cent_amount;
break;
case 2:
cent_input = (cent_input + cent) / cent;
two_cent_amount = two_cent_amount+ cent_input;
break;
case 5:
cent_input = (cent_input + cent) / cent;
five_cent_amount = five_cent_amount + cent_input;
break;
case 10:
cent_input = (cent_input + cent) / cent;
ten_cent_amount = ten_cent_amount + cent_input;
break;
case 25:
cent_input = (cent_input + cent) / cent;
twentyfive_cent_amount = twentyfive_cent_amount + cent_input;
break;
case 50:
cent_input = (cent_input + cent) / cent;
fifty_cent_amount = fifty_cent_amount + cent_input;
break;
default:
cout << "nUndefined input!";
}
scanf("%c", ¢); //%c to read a character
if(cent == 'n') {
break;
}
}
entire_quantity = one_cent_amount + (two_cent_amount * 2) + (five_cent_amount * 5) + (ten_cent_amount * 10) + (twentyfive_cent_amount * 25) + (fifty_cent_amount * 50);
dollars = entire_quantity / 100;
cents = entire_quantity % 100;
if (entire_quantity != 1 && entire_quantity != 0)
cout << "nYou have: " << one_cent_amount << " one cent monets."
<< 'n' << two_cent_amount << " two cent monets."
<< 'n' << five_cent_amount<< " five cent monets."
<< 'n' << ten_cent_amount << " ten cent monets."
<< 'n' << twentyfive_cent_amount << " twentyfive cent monets."
<< 'n' << fifty_cent_amount << " fifty cent monets."
<< 'n' << "Entire quantity: " << entire_quantity << " cents."
<< 'n' << "Your money are: " << dollars << " dollars and " << cents << " cents.";
else if (entire_quantity == 1)
cout << "nYou have only " << entire_quantity << " cent.";
else if (entire_quantity == 0)
cout << "nNothing is specified, you need to enter the amount!";
}
相关文章:
- 如何忽略第一个字符输入后的所有内容
- 使用单个变量对字符输入进行计数
- 确定用户字符输入 C++ 的结束
- 将单个字符串/字符输入串行监视器
- 如何将字符输入限制为仅获取一个字符串"cin"
- C++:使用 fgets() 读取字符输入时出错
- 如何拒绝 cin 中的字符输入并定义最小和最大整数值
- C++ 字符输入仅输出第一个字母
- 如何限制用户仅在C++中输入单个字符
- 限制 2D 数组中的字符输入
- C 模板字符在单个tick中作为参数
- 循环直到整数输入在所需范围内无法处理非数字字符输入
- Visual Studio 多字节字符到单个字节
- C++常量字符*输入
- 使用带符号字符输入的isalnum-Visual C++
- 限制C++中的字符输入
- 字符输入问题
- 字符** + 输入" "字符
- 文件 I/O 操作 - 奇怪的字符输入
- 如何在不暂停循环的情况下使用字符输入停止循环