Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zadanie - jest poprawnie zrobione?

Ostatnio zmodyfikowano 2011-07-08 18:03
Autor Wiadomość
Artuross
Temat założony przez niniejszego użytkownika
Zadanie - jest poprawnie zrobione?
» 2011-07-08 15:52:56
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
C/C++
13.3
tak 123
33.22nie

Przykładowe dane wyjściowe

C/C++
Liczba pierwsza to: 13.3.Wczytano ? 1.
Liczba druga liczba to: 0.Wczytano ? 0.
Liczba trzecie liczba to: 33.22.Wczytano ? 1.

Wskazówka
Informacje o poprawnym (albo niepoprawnym) wczytaniu danych należy przechować w dodatkowych zmiennych typu bool.

ROZWIĄZANIE

C/C++
#include <iostream>
using namespace std;
int main()
{
    float a;
    float b;
    float c;
   
    cin >> a;
    bool liczba_a = cin.good();
    cin.clear();
    cin.sync();
   
    cin >> b;
    bool liczba_b = cin.good();
    cin.clear();
    cin.sync();
   
    cin >> c;
    bool liczba_c = cin.good();
    cin.clear();
    cin.sync();
   
    cout << "Liczba pierwsza to: " << a << endl;
    cout << "Wczytano?" << liczba_a << endl;
   
    cout << "Liczba druga to: " << b << endl;
    cout << "Wczytano?" << liczba_b << endl;
   
    cout << "Liczba trzecia to: " << c << endl;
    cout << "Wczytano?" << liczba_c << endl;
   
    return 0;
}

Czy zadanie jest poprawnie zrobione? Wydaje mi się, że jest OK, ale nie jestem pewien czy zmienne bool powinny być tam gdzie są :)
P-35555
Dawidsoni
» 2011-07-08 17:32:12
Tak. Przecież wystarczy tylko zobaczyć, czy program po wpisaniu danych wejściowych w przykładzie daje te same dane wyjściowe. (a tak właśnie jest)
P-35564
Artuross
Temat założony przez niniejszego użytkownika
» 2011-07-08 18:03:01
Nie o to mi chodziło... Dla Twojej informacji: sprawdziłem.
P-35568
« 1 »
  Strona 1 z 1