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

C++ jednoręki bandyta, warunek

VPS Starter Arubacloud
0 głosów
1,411 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ź 203 wizyt
pytanie zadane 20 stycznia 2021 w C i C++ przez MateuszFisch Początkujący (250 p.)
0 głosów
3 odpowiedzi 153 wizyt
pytanie zadane 14 stycznia 2016 w C i C++ przez timrh Mądrala (6,030 p.)
0 głosów
6 odpowiedzi 1,602 wizyt

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...