如何保持循环直到输入非整数
How to keep looping until non-integer is entered
我有一个程序,我试图保持循环,直到输入的东西是非整数。无论我输入的是非整数还是整数,程序仍然会中断并结束。请帮助
int data;
do
{
cout<<"enter data: ";
cin>>data;
cout<<"yes"<<endl;
return data;
} while(cin.good());
删除return
(或在while之后写入)它会在while行之前破坏代码。。。
这个简单的代码片段应该可以正常工作。
#include <iostream>
int main()
{
int data;
while(std::cin >> data)
{
std::cout << data << std::endl;
}
}
当您将数据定义为整数时,只需检查是否为cin当cin得到它不能使用的输入时,它设置故障位:
int data
while(true)
{
cout<<"enter data: ";
cin>>data;
if(!cin) // or if(cin.fail())
{
// user didn't input a number
break;
}
cout<<"yes"<<endl;
}
相关文章:
- 如何打印不带空格的输入整数?
- 编写一个程序,输入整数 n 并打印该数字的字符数(符号除外)
- 如何在不中断剩余代码的情况下仅C++中输入整数
- 如何在输入整数时中断 for 循环
- C++ 在 CIN 双精度时挂起,但如果输入整数,则继续
- 我如何使用CIN输入整数,每个数字都被逗号分隔
- 如何输入整数并将其从最高到最低排序
- 如何创建一个程序,用户输入整数并输出90度数字金字塔
- 使用对输入整数的文件输入
- 使用户输入整数字符串,然后输出不同的字符串
- 从 fstream 到 2d 矢量的输入整数<矢量<int>> C++
- 用户输入整数后跟垃圾
- 输入整数直到 C/C++ 中的换行符
- 输入整数的最快方法
- C++循环 - 输入整数,直到用户退出
- 尝试输入整数行并在以矢量作为存储的函数的插入排序类型中排序
- 如何使C++程序在用户输入整数时抛出错误,而需要字符串
- 当要求输入整数并使用isdigit检查时,将char转换为int
- 如何通过指针输入整数数组并打印出数组和数组的大小(C++)
- 如果打印后输入整数,则C++分段故障,但其他情况下可以