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

Praca domowa 15 zad. 1

Ostatnio zmodyfikowano 2016-07-14 16:16
Autor Wiadomość
mich2803
Temat założony przez niniejszego użytkownika
» 2016-07-13 18:18:12
Przy takim kodzie:
C/C++
#include <iostream>

using namespace std;

int main()
{
    int liczba;
   
    cout << "Program prosi uzytkownika o podanie liczby calkowitej." << endl;
    cout << "Jesli uzytkownik wprowadzi niepoprawne dane, program poprosi jeszcze raz o liczbe" << endl;
    do {
        cout << "Podaj liczbe: ";
        cin >> liczba;
        cin.clear();
        cin.sync();
        if( cin.fail() == true ) {
           
            cout << "Nieprawidlowe dane. Sprobuj jeszcze raz." << endl;
        }
    } while( cin.fail() == true );
   
    cout << "Podales liczbe: " << liczba << endl;
    cout << "Koniec programu";
   
    return 0;
}
[ / cpp ]
Program dzia ł a tak samo, tzn nie ma mo ż liwo ś ci korekcji danych wczytywanych do zmiennej liczba.Poni ż ej zamieszczam link do zrzutu ekranu przedstawiaj ą cy przyk ł adowe wykonanie programu dla wprowadzenia przez u ż ytkownika litery d z klawiatury.
[ a href = "http://iv.pl/images/75454423824205476149.jpg" ]
P-149909
marcolo2307
» 2016-07-13 18:45:54
Przeczytaj jeszcze raz mój poprzedni post...
P-149910
carlosmay
» 2016-07-14 05:53:42
C/C++
cin >> liczba;
cin.clear();
cin.sync();
if( cin.fail() == true )
To nie ma sensu. Użyci
std::cin.clear();
 przed sprawdzaniem stanu strumienia powoduje, że strumień zawsze będzie
std::cin.fail() == false;

Używaj
std::cin.ignore();
P-149939
mich2803
Temat założony przez niniejszego użytkownika
» 2016-07-14 16:16:34
Dzięki. Temat do zamknięcia.
P-149945
1 « 2 »
Poprzednia strona Strona 2 z 2