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

Tablice - problem z odczytaniem

Object Storage Arubacloud
+1 głos
140 wizyt
pytanie zadane 17 lipca 2016 w C i C++ przez nodo12221 Obywatel (1,100 p.)
#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <time.h>

using namespace std;

void gra()
{
    int co_kupuje;
    int tab[4];
    int runda=0;
    int kasa=5000;
    int random;
    int l_tablet=0, l_komputer=0, l_lodowka=0, l_monitor=0, l_mikrofalowka=0;

    for(int i=0; i<=9; i++)
    {
        runda++;
        system("cls");

        srand(time(NULL));
        random=rand()%2000+3000;
        if(i<=4)
        {
            tab[i]=random;
        }

        cout << "Runda: " << runda << endl;
        cout << "Kasa: " << kasa << endl << endl;

        cout << "1. Tablet (" << l_tablet <<" )"<< endl;
        cout << "2. Komputer (" << l_komputer <<" )" << endl;
        cout << "3. Lodowka (" << l_lodowka <<" )" << endl;
        cout << "4. Monitor (" << l_monitor << " )" << endl;
        cout << "5. Mikrofalowka (" << l_mikrofalowka << " )" << endl;
        cin >> co_kupuje;


        if(co_kupuje==1)
        {
            int sk;
            cout << "Sprzedaj/kup" << endl;
            cin >> sk;
            switch(sk)
            {
            case 1:
                {
                    if(l_tablet<=1)
                    {
                        l_tablet--;
                        kasa-tab[0];
                    }
                    else
                    {
                        cout << "Nie mozna dokonac zakupu!" << endl;
                    }
                  break;
                }
            case 2:
                {
                    if(kasa>=tab[0])
                    {
                        l_tablet++; //chodzi o to
                        kasa-tab[0]; //chodzi o to
                        cout << kasa; //chodzi o to
                        system("pause"); //chodzi o to
                    }

                   break;
                }
            default:
                {
                    cout << "No to co w koncu?" << endl;
                    break;
                }
            }
        }
        if(co_kupuje==2)
        {
        }
        if(co_kupuje==3)
        {
        }
        if(co_kupuje==4)
        {
        }
        if(co_kupuje==5)
        {
        }

    }
    system("cls");
    return;
}

int main()
{
    system("title Hajs");
    int w;

    cout << "Hajs v1.0" << endl;
    cout << "1. Start" << endl;
    cout << "2. Autor" << endl;
    cout << "3. Wyjscie" << endl;
    cin >> w;

    if(w==1)
    {
        gra();
    }

    else if(w==2)
    {
        system("cls");
        cout << "Pomysl: Krzysztof Juszczak" << endl; cout << "Wykonanie: Krzysztof Juszczak" << endl;
    }

    else if(w==3)
    {
        exit(0);
    }

    else
    {
        system("cls");
        cout << "ERROR" << endl;
        exit(0);
    }

    return 0;
}

W miejscu w którym zaznaczyłem kod działa nie poprawnie. Ktoś chce kupić tablet a kasa się nie zmniejsza. Zrobiłem wyświetlanie kasy po zakupie tableta (tymczasowo). HELP HELP HELP!!!!!!

2 odpowiedzi

+1 głos
odpowiedź 17 lipca 2016 przez MetRiko Nałogowiec (37,110 p.)

Zapis:
kasa-tab[0]; 
Nie ma sensu.. jeżeli chcesz przypisać jakąś wartość do zmiennej [kasa] użyj operatora przypisania [=]:
kasa=kasa-tab[0];
Lub krócej:
kasa-=tab[0];
Taki sam błąd masz w linijce 52!
kasa-tab[0];

komentarz 17 lipca 2016 przez nodo12221 Obywatel (1,100 p.)
DZIENKI DZIENKI DZIENKI!!!!!!!!!!!!!!!!
komentarz 17 lipca 2016 przez nodo12221 Obywatel (1,100 p.)
Dzięki, że chciało Ci się przeszukiwać ten kod MOJA GRA BĘDZIE SKOŃCZONA! Wielkie dzięki
+1 głos
odpowiedź 17 lipca 2016 przez Michał Muzyka Pasjonat (24,080 p.)
        if(i<=4)
        {
            tab[i]=random;
        }

tutaj też jest błąd, tworzysz tablice tab[4], a chcesz odwołać się do tab[4], a takiego elementu nie ma,
istnieją takie elemeny: tab[0], tab[1], tab[2], tab[3], musz zmienić warunek na:

        if(i<4)
        {
            tab[i]=random;
        }

 

Podobne pytania

0 głosów
1 odpowiedź 120 wizyt
pytanie zadane 26 stycznia 2017 w C i C++ przez huare Początkujący (310 p.)
+1 głos
2 odpowiedzi 388 wizyt
0 głosów
1 odpowiedź 278 wizyt
pytanie zadane 16 sierpnia 2021 w C# przez AgentTecza Obywatel (1,810 p.)

92,662 zapytań

141,557 odpowiedzi

320,002 komentarzy

62,029 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

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!

...