0
我的程序在char中輸入。然後檢查輸入是否有效得到字符輸入,檢查它是否有效,如果無效清除整個輸入
如果輸入的不是'a'或'b'或'c',請清除整個輸入的輸入然後重新輸入(並且任何超過一個字符的輸入即使開始時也是無效的或包括a或b或c字符)
示例:ab,ac,cb,abc無效。 xa,habc無效
所以我的問題是:例如:如果我輸入像abcdef或123456(在這個例子中輸入有6個字符)輸入循環變成6次,並打印「錯誤!無效值,再試一次」6倍。但對於長度超過1個字符的任何輸入,它只能打印「錯誤!無效值,請重試」。我認爲它分別檢查輸入是否有效,然後分別對b,c,d,e和f進行檢查。所以如果輸入無效,則應該清除整個輸入,然後再次輸入。如果無效,我如何清除整個輸入。這裏是我的代碼
for(bool isTypeValid=false; isTypeValid==false;){
cout<<"type: ";
cin>>type;
switch(type){
case 'a':
case 'b':
case 'c':
isTypeValid=true;
break;
default:
isTypeValid=false;
cout<<"Error! Invalid type. Try again.";
break;}
}
int number:
cout<<"number: ";
cin>>number;
.............
編輯:我只需要使用iostream頭
我忘了提及。我只需要使用iostream頭文件 –
'operator <<'和'getline'都位於'istream'頭文件中。 – roeland
@sinyorcem你不允許使用'string'頭文件嗎? – roeland