【发布时间】:2016-05-17 10:12:26
【问题描述】:
我编写了一个关于猜测密码的代码,但是当输入字母字符而不是整数时,我遇到了问题。它停止程序。我该如何抗拒这个问题。
srand(time(0));
int a,secret;
secret=rand() % 10 +3;
do{
cout<<"Guess the secret num between 1-10 + 3 : ";
cin>>a;
else if(a>secret)
{
cout<<"Secret num is smaller!!"<<endl;
}
else if(a<secret) {
cout<<"Secret num is greater !!"<<endl;
}
}
while(a!=secret)
cout<<" "<<endl;
cout<<""<<endl;
cout<<"Congratulations!!!! This is the secret num...."<<secret<<endl;
【问题讨论】:
-
代码无法编译。向我们展示实际代码。 (如果第一个在哪里?)
-
如果输入流在无效输入后给出,你必须使用
cin.clear()重置失败状态。 -
查看
continue关键字 -
@πάνταῥεῖ
clear很好,但这里也需要ignore。
标签: c++ loops user-input invalid-characters defensive-programming