Я пытаюсь проверить два отдельных входа, если они целые или нет. Я могу проверить ошибку на одном входе, но я не совсем уверен, как проверить два отдельных, если я использую функцию «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;
}
Используйте 'std :: getline' вместо' operator >> '. –
И выйти с использованием пространства имен std .. Причина? [Здесь] (http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice) – amanuel2
@ amanuel2 Несмотря на это другое сообщение, на самом деле нет причин не использовать все пространство имен в данном конкретном случае. –