我有这个程序,我试图保持循环,直到输入的内容是非整数。无论我输入非整数还是整数,程序仍会中断并结束。请帮忙
int data;
do
{
cout<<"enter data: ";
cin>>data;
cout<<"yes"<<endl;
return data;
} while(cin.good());
答案 0 :(得分:1)
删除return
(或稍后写一下)它会在while行之前破坏你的代码......
答案 1 :(得分:0)
这个简单的代码段应该可以正常工作。
#include <iostream>
int main()
{
int data;
while(std::cin >> data)
{
std::cout << data << std::endl;
}
}
答案 2 :(得分:0)
当您将数据定义为整数时,您只需要检查是否为cin 当cin得到输入它无法使用时,它会设置failbit:
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;
}