czyszczenie strumienia pod linuxem - zadanie z lekcji 16
Ostatnio zmodyfikowano 2013-12-10 16:57
dawidrz Temat założony przez niniejszego użytkownika |
czyszczenie strumienia pod linuxem - zadanie z lekcji 16 » 2013-12-10 04:32:08 Witam. Ostatnio przeniosłem się na linuxa i zauważyłem, że cin.sync() nie działa. Zastosowałem się do podpowiedzi z tematu lekcji o obsłudze strumienia wejściowego jednak jest mały zgrzyt. Po uruchomieniu kodu #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int main() { srand( time( NULL ) ); int strzal; int liczba =( rand() % 1000 ) + 1; cout << "wylosowano liczbe. zgadnij jaka: " << endl; do { do { cin.clear(); std::cin.ignore( 1000, '\n' ); cin >> strzal; cin.good(); if( cin.good() == false ) cout << "zla wartosc. sprobuj ponownie" << endl; } while( cin.good() == false ); if( strzal > liczba ) cout << "za duzo" << endl; else; if( strzal < liczba ) cout << "za malo" << endl; } while( strzal != liczba ); cout << "gratuluje, wylosowana liczba to: " << liczba << endl; }
program kompiluje się poprawnie, jednak nic się nie dzieje przy pierwszym podawaniu wartości. Bez znaczenia co wpiszę i zatwierdzę enterem nic się nie wydarzy. Dopiero po ponownym wpisaniu wartości program rusza dalej. Proszę o podpowiedź jak to naprawić. Dzięki |
|
pekfos |
» 2013-12-10 16:57:08 Czyść strumień po pobieraniu danych. |
|
« 1 » |