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

Niejasność ze zmiennymi w grze w zgadywanie liczby

Ostatnio zmodyfikowano 2018-07-14 23:21
Autor Wiadomość
HamesJetfield
Temat założony przez niniejszego użytkownika
Niejasność ze zmiennymi w grze w zgadywanie liczby
» 2018-07-14 23:18:04
Witam,
napisałem program, który w założeniu ma działać w następujący sposób: komputer losuje liczbę z przedziału 1-100, a użytkownik ma tą liczbę zgadnąć. Jeżeli podał liczbę za dużą, to program wypisuje "za duża" a jak za mała to " za mała" i tak aż do osiągnięcia celu. Zrobiłem dwie funkcje: wczytującą, która sprawdza czy użytkownik wpisał liczbę całkowitą, oraz sprawdzającą czy liczba należy do przedziału 1-100.

#include <iostream>
#include <cstdlib>
using namespace std;
int x,z;
void wprowadzenie (int a)
{
    cin>>a;
    if(!cin)
    {
        cout<<"To nie jest liczba calkowita!"<<endl;
        exit(0);
    }
}
void sprawdanie(int a)
{


    if (a<0||a>100)
    {
        cout<<"Liczba musi byc z zakresu 1-100!"<<endl;
        exit(0);
    }

}




int main()
{

    cout << "Witaj" << endl;
    cout << "Zgadnij liczbe z zakresu 1-100" << endl;
     x=rand()%100 + 1;
     z=1000;
     while (z!=x){
        wprowadzenie(z);
        sprawdanie(z);
         if(z>x)
         {
             cout<<"za duzo"<<endl;
         }
         else
         {
             cout<<"za malo"<<endl;
         }
     }


     cout<<"Gratulacje!"<<endl;
    return 0;
}

Moje pytanie dotyczy funkcji wczytywanie , która działa tylko jeżeli wpisane jest w nią

void wprowadzenie (int a)
{
    cin>>z;
    if(!cin)
    {
        cout<<"To nie jest liczba calkowita!"<<endl;
        exit(0);
    }
}

zamiast cin>>a;
Przy drugiej opcji bez względu na wpisaną wartość, wyskakuje komunikat, że liczba nie należy do 1-100. Dlaczego się tak dzieje? Z góry dziękuję za pomoc.
   
P-171861
pekfos
» 2018-07-14 23:21:22
P-171862
« 1 »
  Strona 1 z 1