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

Lekcja 9 i problem laika...

Ostatnio zmodyfikowano 2013-03-28 18:11
Autor Wiadomość
Gapek
Temat założony przez niniejszego użytkownika
Lekcja 9 i problem laika...
» 2013-03-28 14:54:54
Mam problem z tym zadaniem nie znalazłem odpowiedzi w pierwszych 10 postach założonych do tej lekcji, to mój kod:

C/C++
#include <iostream>
using namespace std;

int main()
{
    double a, b, c;
    bool A, B, C;
   
    cout << "Podaj liczbe 1: ";
    cin >> a;
    A = cin.good();
    cin.clear();
    cin.sync();
   
    cout << "Podaj liczbe 2: ";
    cin >> b;
    B = cin.good();
    cin.clear();
    cin.sync();
   
    cout << "Podaj liczbe 3: ";
    cin >> c;
    C = cin.good();
    cout << "\n\n";
   
    cout << "Pierwsza liczba: " << a << "\t Wczytano? " << A << endl;
   
    cout << "Druga liczba: " << b << "\t Wczytano? " << B << endl;
   
    cout << "Trzecia liczba:" << c << "\t Wczytano? " << C << endl;
   
}

Chodzi mi o to że przy wprowadzeniu najpierw tekstu w przykładzie wartość liczby zwracało "0" u mnie czyta literkę jako losową liczbę gdzie mam błąd?
P-79539
Fores
» 2013-03-28 16:34:03
Zadanie masz poprawnie rozwiazane. Program nie pokaze Ci 0, poniewaz przy tworzeniu zmiennej b nie nadales jej zadnej wartosci, wiec zostaly do niej przypisane jakies smieci. Gdy wczytanie sie nie powiodlo, zadna wartosc nie zostala przypisana do zmiennej, wiec smieci zostaly. Jesli chcesz tak na sile meic tam 0, to przy jej tworzeniu nadaj jej wartosc poczatkowa 0. Ale chyba nie o to chodzi, program jest dobrze napisany i spelnai swoja funkcje.
P-79547
Gapek
Temat założony przez niniejszego użytkownika
» 2013-03-28 17:16:10
Ok. Dzięki.
P-79552
Monika90
» 2013-03-28 18:11:51
Program nie jest dobrze napisany, bo odczyt niezainicjalizowanej zmiennej to niezdefiniowane zachowanie. Zmienne a, b, c powinny być albo zainicjalizowane (np zerem), albo nie powinieneś wyświetlać ich wartości, gdy odczyt ze strumienia się nie udał i koniec.
P-79556
« 1 »
  Strona 1 z 1