我对编程和C ++非常陌生。我的问题是如何检查输入是否为整数,如果不是则给出无效的响应。如果我输入数字代码,但如果我输入一个字母,它只会进入无限循环。我尝试过使用!cin但没有成功。以下是问题所在的一小部分:
do
{
if(Z < 0 || Z > 118 || !cin)
{
cout <<"You have entered an invalid value.\n";
}
cout <<"\nPlease enter the atomic number, Z:\n"; cin>>Z; // Ask user to enter atomic number
}
while (Z < 0 || Z > 118 || !cin);
答案 0 :(得分:1)
您可以在条件
中使用表达式cin >> z
的结果
int z;
while(cin >> z && (z < 0 || z > 118)) {
cout <<"You have entered an invalid value.\n";
cout <<"\nPlease enter the atomic number, Z:\n";
}