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

[Poziom 1] [Lekcja9] Zadanie domowe - pominięcie fragmentu zadania.

Ostatnio zmodyfikowano 2015-07-04 07:05
Autor Wiadomość
nUmer
Temat założony przez niniejszego użytkownika
[Poziom 1] [Lekcja9] Zadanie domowe - pominięcie fragmentu zadania.
» 2015-07-04 04:52:20
Witam.

Staram się wykonać zadanie pod linuksem. Zarówno kompilowane przez Code::Blocks jak i g++ tworzy mi program, którego wyjście nie jest prawidłowe.
Kod programu:

#include <iostream>
int main()

{
// Deklaracja zmiennych
    float pierwsza, druga, trzecia ;
    bool tak_nie_1, tak_nie_2, tak_nie_3;

// Dla liczby pierwszej
    std::cout << "Liczba pierwsza to: ";
    std::cin >> pierwsza ;
    tak_nie_1 = std::cin.good();
    std::cin.clear();
    std::cin.sync();

    std::cout << "Liczba pierwsza to: " << pierwsza <<"." << " Wczytano? " << " " << tak_nie_1 << "." << std::endl ;

// Dla liczby drugiej
    std::cout << "Liczba druga to: ";
    std::cin >> druga ;
    tak_nie_2 = std::cin.good();
    std::cin.clear();
    std::cin.sync();

    std::cout << "Liczba druga to: " << druga <<"." << " Wczytano? " << " " << tak_nie_2 << "." << std::endl ;

// Dla liczby trzeciej
    std::cout << "Liczba trzecia to: ";
    std::cin >> trzecia ;
    tak_nie_3 = std::cin.good();
    std::cin.clear();
    std::cin.sync();

    std::cout << "Liczba trzecia to: " << trzecia <<"." << " Wczytano? " << " " << tak_nie_3 << "." << std::endl ;

   return 0 ;

}



Z chwilą, gdy programem jest fragment odpowiadający za pierwszą liczcbę - wszystkie wczytywane kolejno dają zamierzony efekt.
Podczas gdy jednak próbuję wykonać program w całości - dla liczby pierwszej, drugiej i trzeciej - podczas błędnego definiowania zmiennej "tak 123" program się wykonuje również dla liczby trzeciej bez oczekiwania na wczytanie wartości zmiennej.
Wyjście wskazujące na sygnalizowany błąd:

Liczba pierwsza to: 13.3
Liczba pierwsza to: 13.3. Wczytano?  1.
Liczba druga to: tak 123   
Liczba druga to: 0. Wczytano?  0.
Liczba trzecia to: Liczba trzecia to: 0. Wczytano?  0.

Process returned 0 (0x0)   execution time : 27.899 s
Press ENTER to continue.
P-134294
BadBullPL
» 2015-07-04 07:05:53
Poczytaj sobie o czyszczeniu strumienia pod linuksem które jest opisane w lekcji 9
P-134295
« 1 »
  Strona 1 z 1