C ++适当的布尔和双输入

时间:2013-07-26 19:37:36

标签: c++ boolean double

// EX。

bool ex;
cin >> ex;
try {
  if (ex != 0 && ex != 1)
  {
    cin.clear();
    throw ex;
  }
}
catch (bool ex)
{
//redo process
}

如何检查布尔值和双输入是否正确?

2 个答案:

答案 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”,......?

那么,你需要的是一个解析器来解析输入并决定给定的输入字符串是否是一个布尔值。