Liczby pseudolosowe
Ostatnio zmodyfikowano 2017-05-03 18:26
Panniikt Temat założony przez niniejszego użytkownika |
Liczby pseudolosowe » 2017-05-03 13:00:46 Witam Staram się zrobić zadanie domowe z lekcji o liczbach pseudolosowych i natrafiłem na problem z którym nie mogę wygrać. Może mi ktoś wytłumaczyć dlaczego program wychodzi z pętli skoro argument nie został spełniony?? #include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
int main( int argc, char * argv[] ) { int liczba_wylosowana; int liczba_prob = 0; int liczba_u; srand( time( NULL ) ); liczba_wylosowana =(( rand() % 1000 ) + 1 ); do { cout << "Podaj wylosowana liczbe " << endl; cin.clear(); cin.sync(); cin >> liczba_u; liczba_prob++; if( liczba_u > liczba_wylosowana ) { cout << "podales za duza liczbe" << endl; } else( liczba_u < liczba_wylosowana ); { cout << "podales za mala liczbe" << endl; } } while( liczba_wylosowana == liczba_u ); cout << "zgadles wyslowsowana liczba to " << liczba_wylosowana << endl; cout << " ilosc prob " << liczba_prob << endl; system( "PAUSE" ); return 0; }
|
|
Pralkarz |
» 2017-05-03 13:57:43 W while'u sprawdzasz czy strzał użytkownika RÓWNA SIĘ wylosowanej liczbie, przez co przy każdym nieprawidłowym strzale zwraca false, a więc petla się kończy. Wystarczy użyć != zamiast ==. |
|
karambaHZP |
» 2017-05-03 14:39:34 Może mi ktoś wytłumaczyć dlaczego program wychodzi z pętli skoro argument nie został spełniony?? |
Właśnie tak działają pętle. Kręcą się póki warunek jest spełniony. Jeśli nie spełniony, następuje opuszczenie pętli. |
|
Panniikt Temat założony przez niniejszego użytkownika |
» 2017-05-03 18:26:20 Teraz już wszystko jasne. Dzięki Panowie |
|
« 1 » |