Cześć. Dzisiaj zacząłem naukę C++ i chciałem napisać prosty program, który sprawdza, czy podana liczba jest liczbą całkowitą. Jeśli nie - pyta jeszcze raz.
#include <iostream>
using namespace std;
int main()
{
int number;
bool error;
do{
error = false;
cout << "Podaj liczbe calkowita: "; cin >> number;
if (cin.fail()) error = true;
cin.clear();
}while(error);
cout << "Podales prawidlowa liczbe, ktora wynosi: " << number;
return 0;
}
Problem z kodem jest taki, że po błędnym wpisaniu pierwszej liczby program spamuje w konsoli "Podaj liczbe calkowita:", czyli nie daje użytkownikowi w ogóle możliwości wpisania liczby.
Proszę nie pisać, że mogłem sprawdzić typ inputu, bo moim zadaniem na ten moment jest napisanie tego programu przy użyciu instrukcji warunkowych, pętli i prostego i/o.