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

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

Ostatnio zmodyfikowano 2018-05-29 22:53
Autor Wiadomość
Key
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
pekfos
» 2018-05-29 19:05:22
Warunek pętli nie ma żadnego sensu.
P-171303
Key
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
YooSy
» 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
pekfos
» 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