Lekcja 15 [pętla]
Ostatnio zmodyfikowano 2013-02-17 20:51
oskarkxyz Temat założony przez niniejszego użytkownika |
Lekcja 15 [pętla] » 2013-02-17 19:39:01 Witam. Uczę się dopiero programowania i prosiłbym was o wyrozumiałość. Obecnie jestem na 15 rozdziale (1rozdział 2 poziomu) kursu C++ no i najzwyklejsza pętla mnie pokonała. Oto zadanie 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. Teraz mój kod #include <iostream> using namespace std;
int main() { int liczba; do { cout << "Podaj liczbe" << endl; cin >> liczba; if( std::cin.good() ) cout << "Gratulacje, podales liczbe" << endl; } while( std::cin.fail() ); return 0; } Kiedy wpiszę cyfrę to rzeczywiście wyskakuje mi "Gratulacje, podales liczbe", ale kiedy wpiszę np. "x" to wyskakuje mi ciągle "Podaj liczbe" i ciągnie się to w nieskończoność. Mógłby mi ktoś pomóc i powiedzieć co robię nie tak? Z góry dziękuję za odpowiedź:) |
|
ison |
» 2013-02-17 20:51:01 po wprowadzeniu błędnych danych musisz wyczyścić strumień std::cin.clear(); std::cin.sync();
na początku pętli |
|
« 1 » |