Pętla do ... while
Ostatnio zmodyfikowano 2011-09-11 12:45
Bunny Temat założony przez niniejszego użytkownika |
Pętla do ... while » 2011-09-11 10:45:57 chodzi o to by w przypadku podania litery program poprosił o nią jeszcze raz a po podaniu liczby by ją rozpisał #include <iostream> using namespace std; int main() { int liczba; do { cin.clear(); cin.sync(); cin >> liczba; if(...) <------------------ do { cout << liczba << endl; liczba--; } while( liczba >= 0 ); } while( liczba = cin.fail() ); return 0; } dla czego gdy wpiszę w podane miejsce "liczba = cin.good()" to pętla wypisuje tylko podaną liczbę i jeden a po podaniu litery działa dobrze. a gdy wpiszę tam "liczba != cin.fail()" to po podaniu liczby działa dobrze (wypisuje ja) ale przy podaniu litery podaje dużą liczbę i też ją wypisuje :D. dlaczego tak jest? |
|
SeaMonster131 |
» 2011-09-11 11:26:29 to daj: if( cin.good() ) Czyli: #include <iostream> using namespace std; int main() { int liczba; do { cin.clear(); cin.sync(); cin >> liczba; if( cin.good() ) <------------------ do { cout << liczba << endl; liczba--; } while( liczba >= 0 ); } while( liczba = cin.fail() ); return 0; } W sumie ten warunek while( liczba = cin.fail() ) możesz zastąpić samym while( cin.fail() ) :) |
|
Bunny Temat założony przez niniejszego użytkownika |
Dzięki SeaMonster131 » 2011-09-11 12:45:25 Dzięki wielkie, coś musiałem pominąć w kursie :P |
|
« 1 » |