Treść zadania:
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.
#include<iostream>
using namespace std;
int p1, p2, p3;
bool dane = cin.good();
int main()
{
cout << "Podaj 1 liczbe: " << endl;
cin >> p1;
cin.clear();
cin.sync();
cout << "Podaj 2 liczbe: " << endl;
cin >> p2;
cin.clear();
cin.sync();
cout << "Podaj 3 liczbe: " << endl;
cin >> p3;
cin.clear();
cin.sync();
cout << "Pierwsza liczba wynosi: " << p1 << "." << " Wczytano? " << dane << endl;
cout << "Druga liczba wynosi: " << p2 << "." << " Wczytano? " << dane << endl;
cout << "Trzecia liczba wynosi: " << p3 << "." << " Wczytano? " << dane << endl;
return 0;
}
Wszystko ok tylko że jak wpisze tekst to pokazuje np: Druga liczba wynosi:0 Wczytano? 1
I tu pytanie czemu pokazuje 1 a nie 0