【发布时间】:2017-12-27 18:58:24
【问题描述】:
我总是将default 放在所有案例的末尾,它可以正常工作,但是,今天我运行了这段代码,我的默认设置不起作用。我将它放在其他可能的位置以检查它是否可以工作,但它没有。它运行良好,除了当我接受与我所做的案例不匹配的用户输入时。谁能告诉我代码有什么问题或如何使默认语句起作用?
int main(){
int selection;
do
{
cout << "Please make a selection: \n";
cout << "1) Addition\n";
cout << "2) Subtraction\n";
cout << "3) Multiplication\n";
cout << "4) Division\n";
cin >> selection;
} while (selection != 1 && selection != 2 && selection != 3 &&
selection != 4);
switch (selection)
{
case 1:
cout << "you want addition\n";
break;
case 2:
cout << "you want subtraction\n";
break;
case 3:
cout << "you want multiplication\n";
break;
case 4:
cout << "you want division\n";
break;
default:
cout << "you entered wrong operation\n";
break;
}
cout << "You selected option #" << selection << "\n";
system("pause");
return 0;
}
【问题讨论】:
-
由于
do...while条件,1 default。 -
想想在你的
do-while条件下会发生什么,比如输入5 -
@user0042 抱歉,但我不明白这是怎么重复的,这里 OP 的问题涉及错误的
do-while循环条件不是错误的switch块 -
@Aira 您不需要
default,因为您的while条件保证输入将在 [1-4] 范围内。 -
“默认的位置应该是什么”——没关系。
标签: c++