Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Liczby pseudolosowe

Ostatnio zmodyfikowano 2017-05-03 18:26
Autor Wiadomość
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??

C/C++
#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;
}
P-160681
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 ==.
P-160682
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.
P-160683
Panniikt
Temat założony przez niniejszego użytkownika
» 2017-05-03 18:26:20
Teraz już wszystko jasne. Dzięki Panowie
P-160687
« 1 »
  Strona 1 z 1