检查输入是否为数字,如果不是再次输入

时间:2014-05-14 13:51:59

标签: c++

我尝试的东西非常简单但同时对我来说有点困难。我想让用户通过控制台插入号码,如果不是号码告诉不是,并且在号码的时候再次插入的机会。 这是我到目前为止所做的事情

int a;

 cout<<"enter a: ";
 cin>>a;
 while (!isdigit(a)); {
    cout << "\n ERROR, enter a number" ;
    cin.clear();
    cin >> a;
 }

system("Pause");
return 0; 

现在我得到的错误不是数字,但程序终止了。我无法重新插入,必须重新开始。

1 个答案:

答案 0 :(得分:1)

;行中删除while ...

然后处理你正在测试的数值 - isdigit期望一个字符,而你提供从输入读取的整数(例如,57204,这不是字符代码)。