检查输入是有效的C 循环时的DO
Checking input is valid C++ in a do while loop
我是编程和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);
您可以在条件下使用表达式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";
}
相关文章:
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 即使没有满足他们的条件,我也无法通过一些 do-while 循环
- 如何使用 do while 循环确定最高值和最低值
- do while 循环中的 if 语句以 yes 或 no 结尾
- 在 C 或 C++ 中,循环可以同时具有 "do" 和"while"部分吗?
- 使用 while 或 do while 退出循环
- 带有开关语句的 do-while 循环 -- 无穷循环错误
- 为什么当我输入一个被接受的数字时,我的 do-while 循环没有中断?
- 为什么我的 Do-while 循环无法在C++中运行菜单
- 如果语句不会在 do - while 循环中运行
- 为什么当我对数组使用增量操作时,do for 循环不起作用
- 如何在c++中读取do-while循环中的空白
- 将嵌套的 for 循环更改为 do-while 循环
- 如何修复不会在退出选择时终止的 do-while 循环
- 带有do函数的无限循环
- 为什么这个do-while循环每隔一个循环只写入数组?
- C++ do/while 循环和 if/else: 骰子游戏 -- 第 75 行错误:"Cout"之前的预期"While" -- 如何解决这个问题?
- 卡在链表中的无限 Do-while 循环中
- 试图调节我的 do-while 以停止在终端中退出程序.菜单不会根据需要循环使用当前语句
- 使用基本 do-while 循环求解泊松方程