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