在C++中,我如何接受不同于同一行的用户输入
How can I accept user input differently from the same line in C++?
我的介绍C++类有一个任务,让用户选择C、D或E来分别处理支票、存入支票或结束程序。教授明确表示,如果用户选择C或D,他希望接受同一行中的选择和金额。例如,如果用户想存入20美元的支票,他们会在一行中输入"D20"。我把它设置成这样:
cout << "Enter the beginning balance:nn";
cin >> balance;
cout << "Commands:n";
cout << "C - process a checkn";
cout << "D - process a depositn";
cout << "E - end the programnn";
while (choice != 'E')
{
cout << "Enter a transaction:n";
cin >> choice >> amount;
然后是switch语句。当输入C或D时,代码本身可以正常工作,但当我输入E结束程序时,只有在末尾添加一个数字时,它才会工作,因为要求输入的行需要一个char和一个float。然而,在我的教授展示的示例输出中,你只需输入E,它就会终止。有办法解决这个问题吗?我如何设置它,使它接受不同于C和D的E?
编辑:这是切换语句:
switch(choice)
{
case 'C':cout << fixed << setprecision(2);
cout << "Processing check for $" << amount << endl;
balance = processCheck(amount, balance);
cout << "Balance: $" << balance << endl;
break;
case 'D':cout << fixed << setprecision(2);
cout << "Processing deposit for $" << amount << endl;
balance = depositCheck(amount, balance);
cout << "Balance: $" << balance << endl;
break;
case 'E':cout << "Processing end of monthn";
cout << "Final balance: $" << balance << endl;
break;
default : cout << "Invalid choicen";
}
已经在评论中回答了,但无论如何:
更换此代码
cin >> choice >> amount;
通过渐变和条件输入代码:
cin >> choice;
if (choice == 'C' || choice == 'D')
cin >> amount;
相关文章:
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 在C++中,我如何接受不同于同一行的用户输入
- 如何确保用户在一行上提示输入一次时输入名字和姓氏?
- 忽略一行输入中的某些输入
- 丢失读入的每一行输入中的最后一个令牌
- 一行输入到多个变量
- 如何检查从键盘输入的特定整数值是否存在于C++文件中的一行或多行中
- 通过显示一行星号来创建条形图,该条形图将读取数据的输入文件
- 与 C++ 中一行中的用户输入数组元素相关的问题
- 如何在应用程序进行大量printf时,在固定输入的终端中设置最后一行
- 使用 getline 从输入文件读取一行到输出文件
- 标准输入未读取最后一行
- C :使用getline从文本文件中输入,要么跳过第一行,要么将其余部分弄乱
- 在C++的同一行输入值
- 使用 Getline C++ 将每一行输入存储在数组中
- scanf() 为最后一行输入提供错误的输出
- 如何在只有一行输入的向量中输入多个输入
- 仅对前一行输入使用cin.clear()或cin,ignore()
- 我如何在同一行输入2个不同的变量,同时使用setw进行格式化