// EX。
bool ex;
cin >> ex;
try {
if (ex != 0 && ex != 1)
{
cin.clear();
throw ex;
}
}
catch (bool ex)
{
//redo process
}
如何检查布尔值和双输入是否正确?
答案 0 :(得分:0)
你可以关注:
bool ex;
while (1) {
if (cin >> ex) {
if(ex ==1 || ex== 0)
break;
} else {
cout<<"Error !"<<endl;
cin.clear();
while (cin.get() != '\n') ;
/* Edit: Use cin.ignore(numeric_limits<streamsize>::max(), '\n');
as suggested by Ben Voigt
header file - limits
*/
}
答案 1 :(得分:0)
您如何输入布尔值? “是”,“1”,“一个”,“ja”,“Ja”,“sí”,“true”,“OK”,“y”,......?
那么,你需要的是一个解析器来解析输入并决定给定的输入字符串是否是一个布尔值。