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

Problem z zadniem domowym z rozdziału 16

Ostatnio zmodyfikowano 2014-03-07 18:24
Autor Wiadomość
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 :
C/C++
#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??
P-105805
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
...
C/C++
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 );
...
P-105806
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:
C/C++
#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;
   
}
P-105809
« 1 »
  Strona 1 z 1