lekcja 15 - zadanie domowa. Program przy podaniu złej wartości wykonuje nieskonczoną pętle.
Ostatnio zmodyfikowano 2014-08-24 18:37
rafwalus Temat założony przez niniejszego użytkownika |
lekcja 15 - zadanie domowa. Program przy podaniu złej wartości wykonuje nieskonczoną pętle. » 2014-08-24 18:04:40
# include <iostream> using namespace std;
int main() { float a; do { cout << " Podaj dowolna liczbe rzeczywista: "; cin >> a; } while( cin.good() != 1 ); cout << endl << "Ta liczba to " << a << "."; return 0; }
Gdzie znajduje sie błąd w kodzie? |
|
Mateus. |
» 2014-08-24 18:12:24 "Zabezpiecz przed wczytaniem nieprawidłowej liczby. "
Nie czyścisz strumienia wejściowego. |
|
pekfos |
» 2014-08-24 18:14:15 "Zabezpiecz przed wczytaniem nieprawidłowej liczby. "
Nigdzie tego nie robisz. |
Jak to nie? Jak poda nieprawidłową to program wpadnie w pętlę nieskończoną, ale nie przejdzie dalej z błędną liczbą. To niby jakieś zabezpieczenie ;) Brakuje tylko czyszczenia stanu strumienia. |
|
rafwalus Temat założony przez niniejszego użytkownika |
» 2014-08-24 18:14:40 } while( cin.good() != 1 ); - przeciez w tej linijce daje warunek ze jesli cin.good() = 0, czyli jesli wystapil blad powinno zapytac sie jeszcze raz o liczbe. |
|
MrPoxipol |
» 2014-08-24 18:16:20 true jest różne od zera. |
|
rafwalus Temat założony przez niniejszego użytkownika |
» 2014-08-24 18:21:42 Pekfos - w ktorym miejscu powinienem dac czyszczecie strumienia? |
|
pekfos |
» 2014-08-24 18:23:49 Przed wczytywaniem. |
|
rafwalus Temat założony przez niniejszego użytkownika |
» 2014-08-24 18:26:17 dalej to samo:( |
|
« 1 » 2 |