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.
Przykładowe dane wejściowe
13.3
tak 123
33.22nie
Przykładowe dane wyjściowe
Liczba pierwsza to: 13.3. Wczytano? 1.
Liczba druga to: 0. Wczytano? 0.
Liczba trzecia to: 33.22. Wczytano? 1.
Wskazówka
Informacje o poprawnym (albo niepoprawnym) wczytaniu danych należy przechować w dodatkowych zmiennych typu bool.
Moj kod
// program04
// uzywanie strumienia wejscia
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
float liczba1, liczba2, liczba3;
// sprawdzanie czy wprowadzono poprawne dane
bool czyWczytano1, czyWczytano2, czyWczytano3;
// wczytywanie liczb
// liczba1
cin >> liczba1;
czyWczytano1 = cin.good();
cin.clear();
cin.sync();
// liczba2
cin >> liczba2;
czyWczytano2 = cin.good();
cin.clear();
cin.sync();
// liczba3
cin >> liczba3;
czyWczytano3 = cin.good();
cin.clear();
cin.sync();
// wypisywanie liczb
cout << "Liczba 1 to: " << liczba1 << ". Wczytano? " << czyWczytano1 << "." << endl;
cout << "Liczba 2 to: " << liczba2 << ". Wczytano? " << czyWczytano2 << "." << endl;
cout << "Liczba 3 to: " << liczba3 << ". Wczytano? " << czyWczytano3 << "." << endl;
return 0;
}
wyniki ktore otrzymuje z konsoli
Dlaczego po zatwierdzeniu liczba2 program przerywa wykonywanie i wypisuje to co wyzej? Powinno byc 0 dla liczba2 oraz dalsze kontynuowanie wpisania liczba3.
Aaa i https://forum.pasja-informatyki.pl/49175/problem-z-zadaniem-z-kursu-c jest i tak zle wiec moze ktos porzadne wytlumaczy rozwiazanie z kursu cpp0x?