Lekcja 2.15
Ostatnio zmodyfikowano 2016-08-13 17:46
bartinio07 Temat założony przez niniejszego użytkownika |
Lekcja 2.15 » 2016-08-13 14:30:46 Witam, proszę o sprawdzenie zadania domowego: Napisz program, który wczyta liczbę, a następnie wypisze ją na ekranie. Zabezpiecz przed wczytaniem nieprawidłowej liczby. Wykorzystaj do tego celu wiedzę z jednego z poprzednich rozdziałów. Sposób działania programu: 1. Podaj liczbę 2. Jeżeli błąd, wróć do kroku 1. 3. Wypisz liczbę, która została podana. #include <iostream> using namespace std; int main() { int liczba; bool spr; cout << "Podaj liczbe "; cin >> liczba; spr = cin.good(); cin.clear(); cin.sync(); if( spr == cin.fail() ) do { cout << "Podaj liczbe: "; cin >> liczba; spr = cin.good(); cin.clear(); cin.sync(); } while( spr == cin.fail() ); cout << "Podana liczba to: " << liczba << endl; return 0; }
Według mnie wszystko jest ok, program się uruchamia i działa tak, jak powinien, ale chciałbym, żeby ktoś bardziej doświadczony jeszcze rzucił na to okiem. |
|
carlosmay |
» 2016-08-13 15:52:54 Niepotrzebnie powtarza się kod. Całe wczytywanie można przenieść do pętli, zrezygnować z if'a. Nieudane wczytywanie zaskutkuje powtórzeniem pętli, a udane opuszczeniem. |
|
bartinio07 Temat założony przez niniejszego użytkownika |
» 2016-08-13 17:46:43 Faktycznie, czyli wystarczy po prostu tak? #include <iostream> using namespace std; int main() { int liczba; bool spr; do { cout << "Podaj liczbe: "; cin >> liczba; spr = cin.good(); cin.clear(); cin.sync(); } while( spr == cin.fail() ); cout << "Podana liczba to: " << liczba << endl; return 0; }
|
|
« 1 » |