int option;
int invalidOption2 = 0;
while(invalidOption2 == 0){
try{
cin>>option;
if(!cin){
error("invalid input");
}
if(option<1 || option>2){
error("invalid input");
}
if(option==1) {
invalidOption2 = 1;
cout<<"option 1 was selected"<<endl;
}
else if(option==2) {
invalidOption2 = 1;
cout<<"option 2 was selected"<<endl;
}
}
catch(runtime_error& e) {
cerr <<"Please enter a valid option" << endl;
}
}
使用上面的代码时,对于我输入的第一个值,它将移至下一行并等待另一个输入,而不是显示选项消息或错误消息。但是,当我输入第二个值时,它会正常工作。
例如,如果我输入
a (这里什么都没有发生,所以我需要输入另一个值)
1
“您选择了选项 1”
将显示原始无效输入的错误消息。
我想知道如何得到下面的结果。
一个
“请选择一个有效的选项”
1
“您选择了选项 1”
任何帮助,将不胜感激