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

C++ jednoręki bandyta, warunek

Object Storage Arubacloud
0 głosów
1,418 wizyt
pytanie zadane 9 lutego 2016 w C i C++ przez Lukasz95 Bywalec (2,160 p.)
edycja 9 lutego 2016 przez Patrycjerz

Cześć, piszę skromny program który działa jak gra 
"jednoręki bandyta" ogólnie mam problem z case1 bo 
tam warunek wykonuje się nieskończenie wiele 
razy ,a powinien 3... myślę myślę i nie wiem.

#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
    int z;
    int tab[3]={9,9,9};
    srand(time(NULL));
    int tab1[3]={};
    cout<<"Zagraj 1"<<endl<<"Exit 2"<<endl;
    cin>>z;
    while(true)
    {
    switch(z)
        {
            case 1:
                {

                    for(int i=0;i<3;i++)
                    {
                        tab1[i]=rand()%9+1;
                        cout<<tab1[i];
                    }
                cout<<endl;
                if((tab1[0]==9)&&(tab1[1]==9)&&(tab1[2]==9))
                cout<<"WYGRALES";
                };
                break;
            case 2: exit(0); break;
        }
    }
    return 0;
}

 

3 odpowiedzi

0 głosów
odpowiedź 9 lutego 2016 przez secsec Mądrala (7,250 p.)
Pytanie Ci wcięło do kodu, wydziel bo średnio się czyta
komentarz 9 lutego 2016 przez Lukasz95 Bywalec (2,160 p.)
Teraz już jest lepiej
0 głosów
odpowiedź 9 lutego 2016 przez Noak Mądrala (5,900 p.)
musisz zmienić warunek w pętli while, gdyż teraz ci się zapętla w nieskończoność.

ps. opisz dokładniej jak ma działać ta gra
komentarz 9 lutego 2016 przez Lukasz95 Bywalec (2,160 p.)
Pętla while ma działaś nieskończoną ilość razy.
Więc tak najpierw wczytuję tablicę tab i uzupełniam ją kombinacją liczb dla których się wygrywa.
Następnie tworzę skromnę menu które zamykam w nieskończonej pętli, case2 odpowiada za wyjście z programu.
w case 1 czyli zagranie losuję 3 liczby które tworzą kombinację , ta kombinacja  jest wczytywana do tab1. No i wyświetlam później tą tablice z losowymi liczbami.
komentarz 9 lutego 2016 przez Noak Mądrala (5,900 p.)
No to teraz przedstawiłeś dwie opcje. W pytaniu powiedziałeś że case 1 ma się wykonać 3 razy a teraz że nieskończenie wiele. Wykonanie case jest zależne od wykonywania pętli while.

Możesz dodać funkcję Sleep(1000); biblioteka <windows.h> jeśli pracujesz na windowsie  wtedy będziesz widział kolejne losowania liczb.

Lub druga opcja, włóż wczytywanie zmiennej z w pętlę wtedy po każdym przejściu pętli będziesz mógł zadecydować czy chcesz zakończyć program czy grać dalej. Aby jeszcze ładniej to wyglądało możesz dodać funkcję system("cls"); w wybranym miejscu.
0 głosów
odpowiedź 9 lutego 2016 przez Lukasz95 Bywalec (2,160 p.)

Dobra, sam znalazłem błąd, pętle while rozpoczynam w złym miejscu.

 

#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
    int z;
    int tab[3]={9,9,9};
    srand(time(NULL));
    int tab1[3]={};
    while(true)
    {
    cout<<"Zagraj 1"<<endl<<"Exit 2"<<endl;
    cin>>z;

    switch(z)
        {
            case 1:
                {

                    for(int i=0;i<3;i++)
                    {
                        tab1[i]=rand()%9+1;
                        cout<<tab1[i];
                    }
                cout<<endl;
                if((tab1[0]==9)&&(tab1[1]==9)&&(tab1[2]==9))
                cout<<"WYGRALES";
                };
                break;
            case 2: exit(0); break;
        }
    }
    return 0;
}

 

Podobne pytania

+1 głos
1 odpowiedź 215 wizyt
pytanie zadane 20 stycznia 2021 w C i C++ przez MateuszFisch Początkujący (250 p.)
0 głosów
3 odpowiedzi 155 wizyt
pytanie zadane 14 stycznia 2016 w C i C++ przez timrh Mądrala (6,030 p.)
0 głosów
6 odpowiedzi 1,642 wizyt

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...