[求助]如何验证变量输入是否合法
比如一个int型变量用户输入'q'怎么检测到非法并让用户重新输入呢?
2015-12-13 13:51
2015-12-13 18:54
程序代码:for(n = 1; n < 4; n++)
49 {
50 cin>>answer;
51 if(answer == result)
52 {
53 cout<<"回答正确"<<endl;
54 break;
55 }
56 else if(n < 3)
57 cout<<"回答错误.请重新输入:";
58 }
相关部分代码是这样的.如果我输入一个'q'后就直接循环结束了.
我想问下怎么才能检测到输入不正确后让用户重新输入.
2015-12-13 22:07
程序代码:#include <iostream>
#include <limits>
using namespace std;
int main( void )
{
const int result = -123;
for( size_t n=1; n!=4; ++n )
{
int answer;
if( cin>>answer )
{
if( answer == result )
{
cout << "…………" << endl;
break;
}
}
else
{
cin.clear();
cin.ignore( numeric_limits<streamsize>::max(), '\n' );
}
if( n < 3 )
cout << "…………:";
}
return 0;
}
2015-12-14 08:44
程序代码:char ans;
do
{
cin>>num;
cout<<"You input a numer:"<<num<<endl;
cout<<"Is it correct?"<<endl;
cin>>ans;
}while(ans!='y'||ans!='Y'); //输入y||Y确认,否则重新输入[此贴子已经被作者于2016-1-7 11:03编辑过]
2016-01-07 11:02
2016-01-07 12:06