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;
}
}
當使用上面的代碼時,對於第一個輸入的值,它將移動到下一行並等待另一個輸入,而不是顯示選項消息或錯誤信息。但是,當我輸入第二個值時,它正常工作。while循環 - 第一次輸入後什麼也沒有發生
例如,如果我進入
一個(沒有發生在這裏,所以我需要進入另一個值)
「您已選擇選項1」
將顯示並且沒有原始無效輸入的錯誤消息。
我想知道如何得到下面的結果。
一個
「請選擇一個有效的選擇」
「您已選擇選項1」
任何幫助,將不勝感激
什麼類型是「選項」? – Bathsheba
對不起,我將它編輯成問題,選項是類型int – user2383238