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

[Lekcja 9] Program nie pozwala wpisać trzeciej liczby

Ostatnio zmodyfikowano 2012-01-30 17:54
Autor Wiadomość
heniu_1
Temat założony przez niniejszego użytkownika
[Lekcja 9] Program nie pozwala wpisać trzeciej liczby
» 2012-01-29 23:46:20
Program działa poprawnie dopóki nie wpisze się błędnych danych. Nie potrafię znaleźć błędu, który za to odpowiada. Czy ktoś mógłby rzucić na to okiem?

C/C++
#include <iostream>
int main()
{
    float l1, l2, l3;
    bool a, b, c;
    std::cout << "Podaj pierwszą liczbę: ";
    std::cin >> l1;
    a = std::cin.good();
    std::cin.clear();
    std::cin.sync();
    std::cout << "Podaj drugą liczbę: ";
    std::cin >> l2;
    b = std::cin.good();
    std::cin.clear();
    std::cin.sync();
    std::cout << "Podaj trzecią liczbę: ";
    std::cin >> l3;
    c = std::cin.good();
    std::cin.clear();
    std::cin.sync();
    std::cout << "Pierwsza liczba to: " << l1 << std::endl;
    std::cout << "Wykonano? " << a << std::endl;
    std::cout << "Druga liczba to: " << l2 << std::endl;
    std::cout << "Wykonano? " << b << std::endl;
    std::cout << "Trzecia liczba to: " << l3 << std::endl;
    std::cout << "Wykonano? " << c << std::endl;
    return 0;
}
P-49792
Dark
» 2012-01-30 00:05:50
a masz jakieś warunki na błędne dane? Nie wydaje mi się
P-49793
heniu_1
Temat założony przez niniejszego użytkownika
» 2012-01-30 17:34:33
Raczej nie chodzi o żadne warunki, bo do 9 lekcji nie ma mowy o czymś takim :(
P-49817
pekfos
» 2012-01-30 17:38:37
spróbuj tego:
C/C++
cin.ignore();
cin.clear();
cin.sync()
Pewnie wpisujesz złe nieprawidłowe dane(część zostaje w strumieniu).
P-49818
heniu_1
Temat założony przez niniejszego użytkownika
» 2012-01-30 17:48:36
Dzięki za pomoc, ale przejrzałem jeszcze raz lekcję i znalazłem błąd :)
Funkcja
C/C++
std::cin.sync();
nie działa pod Linuksem. Wystarczyło ją zamienić na
C/C++
std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
P-49820
pekfos
» 2012-01-30 17:54:02
No to close.
P-49821
« 1 »
  Strona 1 z 1