Problem z zadniem domowym z rozdziału 16
Ostatnio zmodyfikowano 2014-03-07 18:24
wirusomaniak Temat założony przez niniejszego użytkownika |
Problem z zadniem domowym z rozdziału 16 » 2014-03-07 17:23:59 Mój kod to : #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { int odpowiedz; int proba = 0; srand( time( NULL ) ); int liczba =( rand() % 1000 ) + 1; do { if( odpowiedz == liczba ) { cout << "Zgadnij liczbe ktora byla wylosowana w przedziale 1-1000:" << endl; proba++; cin >> odpowiedz; } else cout << "Zla odpowiedz sprobuj jeszcze raz"; } while( odpowiedz != liczba ); cout << "Wygrales!!! wylosowana przez ciebie liczba to: " << liczba << endl; cout << "Liczba prob to: " << proba << endl; return 0; } Po uruchomieniu programu wariuje wszystko się przemieszcza nic nie można zrobić jaki jest błąd w tym kodzie? Mój program ma spełniać takie warunki: 1. Program losuje liczbę z przedziału od 1 do 1000. 2. Użytkownik zgaduje liczbę, która została wylosowana. 3. Jeżeli podana liczba jest za duża (za mała) gra wypisuje stosowny komunikat i powraca do kroku 2. 4. Jeżeli gracz trafi liczbę wylosowaną to progam kończy działanie, wypisując na ekran wylosowaną liczbę oraz liczbę 'strzałów', które oddał gracz. no i właśnie napisałem taki kod co się w nim nie zgadza i dlaczego tak się dzieje?? |
|
wirusomaniak Temat założony przez niniejszego użytkownika |
Już się dowiedziałem przepraszam za umieszczenie niepotrzebnego tematu. » 2014-03-07 17:38:57 Już się dowiedziałem przepraszam za umieszczenie niepotrzebnego tematu. zrobiłem to bez else to urywek kodu ... cout << "Zgadnij liczbe ktora byla wylosowana w przedziale 1-1000:" << endl; proba++; cin >> odpowiedz; if( odpowiedz != liczba ) { cout << "Blad sprobuj ponownie..." << endl; } } while( odpowiedz != liczba ); ... |
|
wirusomaniak Temat założony przez niniejszego użytkownika |
Kod końcowy » 2014-03-07 18:24:00 Jeśli ktoś ma jeszcze problem z tym zadaniem to może sobie pomóc moim kodem końcowym który zgadza się idealnie z poleceniem: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { int odpowiedz; int proba = 0; srand( time( NULL ) ); int liczba =( rand() % 1000 ) + 1; do { cout << "Zgadnij liczbe ktora byla wylosowana w przedziale 1-1000:" << endl; proba++; cin.clear(); cin.sync(); cin >> odpowiedz; cout << "Error" << cin.fail() << endl; if( odpowiedz != liczba ) { cout << "Blad sprobuj ponownie..." << endl; } if( odpowiedz < 1 || odpowiedz > 1000 ) { cout << "Podana liczba nie zgadza sie z trescia polecenia sprobuj ponownie..." << endl; } } while( odpowiedz != liczba || odpowiedz < 1 || odpowiedz > 1000 || cin.fail() == 1 ); cout << "Wygrales!!! wylosowana przez ciebie liczba to: " << liczba << endl; cout << "Liczba prob to: " << proba << endl; return 0; } |
|
« 1 » |