如果它们是整数,我试图检查两个单独的输入。我能够对一个输入进行错误检查,但如果我使用' get'我不太确定如何检查两个单独的输入。功能和两个输入都来自“cin'流。使用c ++。
我检查一个整数的代码如下所示。
#include <iostream>
using namespace std;
int main() {
int input;
cout << "Enter an integer: ";
cin >> input;
char next;
int x=0;
int done = 0;
while (!done){
next = cin.get();
if (next == ' ' || next == '\n'){
cout << "The Integer that you have entered is: " << input << "\n";
done = 1;
}
else if (next == '.'){
cerr << "Error: Invalid Input. Not an Integer." << "\n";
done = 1;
}
else{
cerr << "Error: Invalid Input. Not a number." << "\n";
done = 1;
}
}
return 0;
}
答案 0 :(得分:0)
您可以>>
一直使用int
,删除所有get()
内容和字符处理,然后查看cin.fail()
。例如(我将把它放到你的程序中并在循环中重复它作为练习):
int x;
cin >> x;
if (cin.fail())
cout << "Not a valid integer." << endl;
您可以完全相同的方式处理所有后续输入。没有理由只将operator >>
限制为第一个输入。