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

C++ 检查输入是否为数字,如果不是,请再次输入,c++,C++,我试着做一些非常简单的事情,但同时对我来说有点难。我想让用户通过控制台插入数字,如果不是数字,告诉是不是,并给机会再次插入,而这是数字。 这是我到目前为止所做的 int a; cout<<"enter a: "; cin>>a; while (!isdigit(a)); { cout << "\n ERROR, enter a number" ; cin.clear(); cin >> a; } system("

我试着做一些非常简单的事情,但同时对我来说有点难。我想让用户通过控制台插入数字,如果不是数字,告诉是不是,并给机会再次插入,而这是数字。 这是我到目前为止所做的

int a;

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

system("Pause");
return 0; 
inta;
库塔;
而(!isdigit(a));{
cout>a;
}
系统(“暂停”);
返回0;

现在我得到的错误不是数字,而是程序终止。无法再次插入,必须重新启动。

删除


然后注意测试的数字值–
isdigit
需要一个字符,而您提供从输入读取的整个整数(例如57204,它不是字符代码)。

相关数字不是数字。它由数字组成,有时甚至更多。你应该看看重复的问题。如果你总是初始化变量,你的生活会更幸福。@luk32数字的表示法是由数字组成的:p感谢@BrainlessBox。。这个帖子帮助我解决了我的问题!