Kod napisany tylko i wylacznie na potrzeby zilustrowania problemu.
#include <iostream>
using namespace std;
int main()
{
int liczba;
cout << "Sprawdzamy czy liczba jest PARZYSTA czy NIE. " << endl;
cout << "Podaj liczbe: ";
cin >> liczba;
cin.clear();
cin.sync();
while ( cin >> liczba )
{
if ( (liczba%2) == 0 )
{
cout << "Liczba jest PARZYSTA" << endl;
}
else
{
cout << "Liczba jest NIEPARZYSTA" << endl;
}
cout << "Podaj liczbe: ";
cin >> liczba;
cin.clear();
cin.sync();
}
return 0;
}
Czemu pod uwage brana jest dopiero DRUGA wprowadzona wartosc?
Załóżmy sytuacje
Wprowadzam wartosc 3 (zadnej reakcji, tak jakby program nadal czekal na wprowadzeni wartosci)
Wprowadzam kolejny raz 3 ( dopiero teraz program odczytuje wartosc).
Gdzie popełniłem błąd?