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

Problem z wykonaniem zadania z lekcji o funkcjach.

Ostatnio zmodyfikowano 2015-03-24 20:38
Autor Wiadomość
Brunon3
» 2015-03-24 20:23:04
Prościej fail() wstawić po prostu do warunku.

Oczywiście można to zrobić inaczej, ale nie ma co już mieszać.

-BD.
P-129093
pekfos
» 2015-03-24 20:23:23
Przeczytaj lekcję do końca.
P-129094
Yaoo
Temat założony przez niniejszego użytkownika
» 2015-03-24 20:27:59
C/C++
#include <iostream>

int wczytajLiczbe()
{
    int a;
    do
    {
        std::cin >> a;
        std::cout << "Czy cos nawalilo? " << std::cin.fail();
    } while( std::cin.fail() );
   
    return a;
}

int main()
{
    std::cout << "Podaj liczbe: ";
    int liczba = wczytajLiczbe();
    std::cout << "Podales liczbe: " << liczba << std::endl;
    return 0;
}

Gdzie jest błąd w tym kodzie?
P-129098
pekfos
» 2015-03-24 20:29:07
Przeczytaj lekcję do końca.
P-129099
Brunon3
» 2015-03-24 20:32:58
Pekfosowi chyba chodzi o to:

Jeśli chcemy mieć większą kontrolę nad strumieniem wejściowym to powinniśmy czyścić jego zawartość przed każdym wczytaniem danych. Aby to zrobić musimy wywołać dwie metody strumienia std::cin. Pierwszą z nich jest std::cin.clear(), która czyści flagi błędu. Drugą metodą jest std::cin.sync(), która czyści bufor strumienia.

-BD.
P-129101
Yaoo
Temat założony przez niniejszego użytkownika
» 2015-03-24 20:38:11
Muszę powiedzieć, że nie doceniałem tych dwóch linijek...

std::cin.clear();


std::cin.sync();


Dziękuję Wam bardzo, problem rozwiązany. Następnym razem cztery razy się zastanowię zanim zapytam o bzdury :)
P-129103
1 « 2 »
Poprzednia strona Strona 2 z 2