我为我的入门C++类分配了一个任务,让用户选择C、D或E来处理支票、存入支票或结束程序。这位教授指出,如果用户选择C或D,他希望在同一行中同时接受选择和金额。例如,如果用户想存入一张20美元的支票,他们可以在一行中输入“D20”。我将其设置为:
cout << "Enter the beginning balance:\n\n";
cin >> balance;
cout << "Commands:\n";
cout << "C - process a check\n";
cout << "D - process a deposit\n";
cout << "E - end the program\n\n";
while (choice != 'E')
{
cout << "Enter a transaction:\n";
cin >> choice >> amount;后跟一个switch语句。当输入C或D时,代码本身工作正常,但当我输入E结束程序时,只有在末尾添加一个数字才能正常工作,因为请求输入的行需要一个字符和一个浮点数。然而,在我的教授展示的示例输出中,您只需输入E,它就会终止。有什么办法可以解决这个问题吗?我如何设置它,使它接受不同于C和D的E?
编辑:下面是switch语句:
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 month\n";
cout << "Final balance: $" << balance << endl;
break;
default : cout << "Invalid choice\n";
}发布于 2020-02-24 07:14:41
我已经在评论中回答了,但不管怎样:
替换此代码
cin >> choice >> amount;通过渐进式和条件式输入代码:
cin >> choice;
if (choice == 'C' || choice == 'D')
cin >> amount;https://stackoverflow.com/questions/60367335
复制相似问题