Poziom 2. Rozdział 15. Pętla do ... while.
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Poziom 2. Rozdział 15. Pętla do ... while.

AutorWiadomość
Temat założony przez niniejszego użytkownika
Poziom 2. Rozdział 15. Pętla do ... while.
» 2018-05-29 18:01:39
Dlaczego instrukcja się nie wykonuje i cin nie zostaje powtórzony w przypadku podania litery? Jeśli zmienię fail na good i podam cyfrę to pętla poparawnie działa.

C/C++
#include <iostream>

using namespace std;

int main()
{
    int liczba;
   
    do
    {
        cin >> liczba;
    } while( liczba = cin.fail() );
   
    return 0;
}
P-171302
» 2018-05-29 19:05:22
Warunek pętli nie ma żadnego sensu.
P-171303
Temat założony przez niniejszego użytkownika
» 2018-05-29 22:19:42
Jaki zatem mogę dać warunek, aby pętla działała w przypadku podania litery lub innego znaku, który nie jest liczbą? Nie potrafię niczego wymyślić.
P-171305
» 2018-05-29 22:43:54
Frazy, które należy wpisać w wyszukiwarkę google:
https://4programmers.net/C/FAQ​/Zabezpieczenie_przed_wpisywaniem_liter
P-171306
» 2018-05-29 22:53:16
Jaki zatem mogę dać warunek, aby pętla działała w przypadku podania litery lub innego znaku, który nie jest liczbą? Nie potrafię niczego wymyślić.
Bo szukasz nie wiadomo jakiego rozwiązania. Samo cin.fail() wystarczy. Jaki twoim zdaniem miało sens porównywanie wczytanej liczby z informacją, czy wystąpił błąd (na dodatek złym operatorem)?
P-171307
« 1 »
 Strona 1 z 1