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

Losowa liczba zawsze rowna sie 1

Ostatnio zmodyfikowano 2017-07-22 23:43
Autor Wiadomość
andridud12
Temat założony przez niniejszego użytkownika
Losowa liczba zawsze rowna sie 1
» 2017-07-22 23:05:00
C/C++
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

string twojpies;
int jedzenie = 5;
int zdrowie = 100;
int aktywnosc;

int main()
{
    int wyborpsa;
    cout << "Wybierz psa: " << endl;
    cout << "1. Gruby" << endl;
    cout << "2. Chudy" << endl;
    cout << "3. Sredni" << endl;
    cout << "4. Tlusty" << endl;
    cout << "5. Falder" << endl;
    cout << "Wybierz numer: ";
    cin >> wyborpsa;
    switch( wyborpsa )
    {
    case 1: twojpies = "Gruby";
        cout << "Twoj pies jest " << twojpies;
        break;
    case 2: twojpies = "Chudy";
        cout << "Twoj pies jest " << twojpies;
        break;
    case 3: twojpies = "Sredni";
        cout << "Twoj pies jest " << twojpies;
        break;
    case 4: twojpies = "Tlusty";
        cout << "Twoj pies jest " << twojpies;
        break;
    case 5: twojpies = "Falder";
        cout << "Twoj pies to " << twojpies;
        break;
    default: cout << "Nie wybrales psa debilu" << endl;
        break;
    }
    while( zdrowie >= 1 )
    {
        srand(( int ) time( NULL ) );
        int aktywnosc = rand() % 1 + 1;
        if( aktywnosc = 1 )
        {
            cout << endl << "Twoj " << twojpies << aktywnosc << " pies jest glodny. Szto robisz? " << endl;
            int wyborjedz;
            cout << "1. Nakarm go (-1 jedzenie z lodowki)" << endl;
            cout << "2. Nie dawaj mu jedzenia(-50 zdrowia)" << endl;
            cout << "3. Zjedz go. (-1000 zdrowia)" << endl;
            cin >> wyborjedz;
            switch( wyborjedz )
            {
            case 1: jedzenie = jedzenie - 1;
                cout << "hau hau dzieki" << endl;
                break;
            case 2: zdrowie = zdrowie - 50;
                cout << "wrrr ty grubasie!" << endl;
                break;
            case 3: zdrowie = zdrowie - 1000;
                cout << "ehre" << endl;
                break;
            default: cout << "debilu naucz sie czytac" << endl;
                break;
            }
        }
        else
        {
            int wyborsra;
            cout << " prrruuut zesralem sie" << endl;
            cout << "Twoj " << twojpies << "pies zrobil kupe. Co robisz? " << endl;
            cout << "1. Sprzatam" << endl;
            cout << "2. Nic nue robie(-10 zdrowia psa)" << endl;
            cout << "3. Zjadam psa" << endl;
            cin >> wyborsra;
            switch( wyborsra )
            {
            case 1:
                cout << "hau hau dzieki prut" << endl;
                break;
            case 2: zdrowie = zdrowie - 10;
                cout << "wrrr wiecej nasram" << endl;
                break;
            case 3: zdrowie = zdrowie - 1000;
                cout << "ekhre" << endl;
                break;
            default: cout << "Naucz sie czytac debilu" << endl;
            }
        }
    }
   
    return 0;
}
[ cpp / ]
Jak zrobic zeby liczba byla losowa a nie zawsze rowna 1.Prosze sie nie pytac o co chodzi w tym kodzie xd.Chce tylko zeby tak jakby losowaly sie zdarzenia.Ale zawsze losuje sie zdarzenie = 1.Prosze o szybka pomoc: )
P-163499
Kinexity
» 2017-07-22 23:10:29
int aktywnosc = rand() % 1 + 1;
 - Zwróć uwagę na tę linię. Przyczyna tego, że losowa liczba jest zawsze równa 1, powinna stać się dla ciebie oczywista...
P-163500
andridud12
Temat założony przez niniejszego użytkownika
Ale na wazne jest to jaki przedzial liczb tam ustawie. I tak bedzie 1
» 2017-07-22 23:14:23
P-163501
Kinexity
» 2017-07-22 23:21:32
int aktywnosc = rand() + 1;
 - jak to ci nie będzie działać to ja nie wiem
P-163502
andridud12
Temat założony przez niniejszego użytkownika
» 2017-07-22 23:25:25
Nie dziala i tak zawsze 1
P-163503
carlosmay
» 2017-07-22 23:29:57
Przebudowujesz projekt, czy tylko zmieniasz tą linijkę?

edit:
if( aktywnosc = 1 )
To nie jest porównanie tylko przypisanie, więc zawsze przy sprawdzeniu ustawiana jest wartość
1
.
(Częsty błąd).

Używając obiektów
std::string
 dodawaj nagłówek <string>.
P-163504
andridud12
Temat założony przez niniejszego użytkownika
» 2017-07-22 23:43:29
Dzieki :) mozliwe ze czesty blad bo jestem poczatkujacym :)
P-163505
« 1 »
  Strona 1 z 1