Cześć, mam problem z zadaniem ze strony Cpp0x. Chodzi o te:
Napisz program, który wczyta trzy liczby rzeczywiste, a na końcu programu je wszystkie wypisze. Zadbaj o to, by bufor strumienia wejściowego był za każdym razem czyszczony. Wynik końcowy powinien również zawierać informacje czy wczytanie danej liczby się powiodło.
Chodzi o to, że mój kod nie działa jak powinien. Zawsze leci "1" po cin.good();, a powinno "0", jeśli wpiszemy literę.
Stąd: http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Obsluga-strumienia-wejsciowego/12
#include <iostream>
using namespace std;
int Czysc()
{
cin.clear();
cin.sync();
}
int main()
{
float a;
float b;
float c;
cout << "Podaj liczbe a: ";
cin >> a;
Czysc();
cout << "\nPodaj liczbe b: ";
cin >> b;
Czysc();
cout << "\nPodaj liczbe c: ";
cin >> c;
Czysc();
cout << "Liczba a to: " << a;
cout << cin.good();
cout << "\nLiczba b to: " << b;
cout << cin.good();
cout << "\nLiczba c to: " << c;
cout << cin.good();
return 0;
}