• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błędne liczenie ilosci prób

0 głosów
690 wizyt
pytanie zadane 16 sierpnia 2015 w C i C++ przez user125 Początkujący (400 p.)

Witam mam pewien problem gdyż napisałem małą grę, która polega na odgadnięciu liczby i zliczeniu próby w jakiej ją odgadłem . Jednak gdy ja odgadnę i chce jeszcze raz w nia zagrac to ilosc prob nie zaczyna sie od 1 tylko ciagnie się dalej.

#include <iostream>//operacje wejscia, wyjscia, tekst
#include <cstdlib>
#include <time.h> //pobierz czas systemowy
#include <stdio.h>
 
using namespace std;
 
int liczba;
int strzal;
int ile_prob=0;
int wybor;
char wyjscie;
 
int main()
{
 
for(;;) //dzieki tej petli po dokonaniu wyboru i po nacisnieciu dowolnego klawisza moge powrocic do mojego menu
{
 
    cout<<"-------------MENU-------------"<<endl;
    cout<<"(1) Zapraszamy do gry."<<endl;
    cout<<"(2) Instrukcja gry"<<endl;
    cout<<"(3) Informacje o Autorze."<<endl;
    cout<<"(4) Nowosci w grze."<<endl;
    cout<<"(5) Wyjscie"<<endl;
    cout<<"------------------------------"<<endl;
     
    cout<<"Wybieram opcje: ";
    cin>>wybor;
     
     
    system("cls");
 
     
    switch(wybor)
    {
        case 1:
            cout<<"Witaj! Pomyslalem sobie liczbe 1 do 1 000"<<endl;
            srand(time(NULL)); //pobiera liczbe sekund ktora uplynela od roku 1970
            liczba = rand()%1000+1; // losuje liczbe z zakresu 1 do tysiaca
 
            while(strzal!=liczba)
             {
                 ile_prob++;
 
                cout<<"Zgadnij jaka (to Twoja "<<ile_prob<<" proba): ";
                cin>>strzal;
 
                 if(strzal==liczba)
                    cout<<"Udalo sie! Wygrywasz w "<<ile_prob<<" probie"<<endl;
 
                 else if(strzal<liczba)
                     cout<<"To za malo"<<endl;
 
                 else if(strzal>liczba)
                    cout<<"To za duzo"<<endl;
            }
             
            if(ile_prob<=5)
            {
                cout<<"Gratuluje zdobyles zloty medal"<<endl;
            }
             
            else if(ile_prob>=10)
            {
                cout<<"Grayuluje zdobyles srebny medal"<<endl;
            }
             
            else if(ile_prob>=20)
            {
                cout<<"Gratulacje zdobyles brazowy medal"<<endl;
            }
             
            else
            {
                cout<<"Nie zdobyles zadnego medalu"<<endl;
            }               
         
 
        getchar();getchar(); //dla pewnosci 2 razy
            break;
             
        case 2:
            cout<<"----------------INSTRUKCJA GRY----------------"<<endl;
            cout<<"Gra polega na odgadnieciu losowanej przez komputer liczby z zakresu od 1 do 1 000.";
            cout<<"\nGra informuje uzytkownika czy podana przez niego liczba jest za mala lub za duza";
            cout<<"\nGdy uzytkownik domysli liczby moze zobaczyc w ktorej probie sil ja ogdadl";
            cout<<"\nGra informuje uzytkownika o medalu jaki dostal:";
            cout<<"\nMedal zloty mozna dostac gdy uzytkownik odgadnie liczbe w 5 probach";
            cout<<"\nMedal srebny mozna dostac gdy uzytkownik odgadnie liczbe w 10 probach";
            cout<<"\nMedal brazowy mozna dostac gdy uzytkownik odgadnie liczbe w 20 probach";
            cout<<"\nGdy uzytkownik odgadnie liczbe przy 21 podejsciu nie otrzymuje medalu"<<endl;
             
            break;
             
             
        case 3:
            cout<<"Witam nazywam sie Michal, mam 15 lat i dopiero zaczynam programowac"<<endl;
            cout<<"Pozdrawiam"<<endl;
            break; // ta instrukcja to przerwanie wykonywanej instrukcji
             
        case 4:
//jakis kod 
             
        case 5:
             
            //tutaj ma byc instrukcja dzieki ktorej wyjde z programu
             
             
        default:
            cout<<"Wybrales nr: "<<wybor<<"-nie znam takiego!"<<endl;
            break;
             
        cin>>wybor;   
         
    }
    system("pause");
    system("cls"); // dzieki tej instrukcji moge oczyscic ekran z wybranej opcji gdy chce zobaczyc nastepna i chce zebby tylko ona byla pokazana na ekranie
}   
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 16 sierpnia 2015 przez Boshi VIP (100,240 p.)
Zrestartuj  licznik jeżeli wygrasz.
komentarz 16 sierpnia 2015 przez user125 Początkujący (400 p.)
jak to zrobić ? Do tej pory radziłęm sobie tak że wychodziłem i wchodziłem do gry.
komentarz 16 sierpnia 2015 przez Boshi VIP (100,240 p.)
 if(strzal==liczba)
                cout<<"Udalo sie! Wygrywasz w "<<ile_prob<<" probie"<<endl;
iloscprob=0;

 

 

komentarz 16 sierpnia 2015 przez user125 Początkujący (400 p.)
A no tak dzięki wielkie :)

Podobne pytania

0 głosów
2 odpowiedzi 269 wizyt
pytanie zadane 16 grudnia 2016 w C i C++ przez A_C Użytkownik (880 p.)
0 głosów
0 odpowiedzi 164 wizyt
0 głosów
0 odpowiedzi 314 wizyt

93,720 zapytań

142,641 odpowiedzi

323,264 komentarzy

63,268 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...