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

Nie wiem, co robić.

Object Storage Arubacloud
0 głosów
251 wizyt
pytanie zadane 30 września 2019 w C i C++ przez speed-koles Nowicjusz (120 p.)

Witam, mam problem. Otóż uczę się programować w c++ z książki Alex'a Allain'a "Przewodnik dla początkujących" i jest wszystko fajnie, dobrze i wszystko rozumiem (jestem na razie przy rozdziale 8 - dodawanie losowości do programu). Mój problem polega na tym, że gdy zaczynam wykonywać zadania praktyczne (Nie chodzi mi o te typu: wydrukuj coś na ekranie, lub dodaj jakąś do zmiennej czy zrób tekst piosenki 99 bottles of beer w pętli), chodzi mi o takie gdzie muszę stworzyć już jakiś program typu jednoręki bandyta czy gra w pokera albo głupie kółko i krzyżyk dodam jeszcze, iż nie znam tablic, tylko zmienne, instrukcje warunkowe if/else, switch/case, typ wyliczeniowy enum, liczby pseudolosowe,pętle i funkcje. Ja po prostu przy tym tak się motam i nie wiem co zrobić, że po pierwsze zajmuje mi to bardzo długo a po drugie nie wiem, czy to dobrze wykonałem jak to wykonam po długim czasie katowania, sprawdzam niby odpowiedzi w internecie ale nie wiem, czy to co napisałem spełnia wszystkie wymagania. I mam pytanie do was, to jest normalne, czy to są objawy tego że się nie nadaje do programowania, martwię się tym bo, chce zostać programistą/informatykiem (jestem uparty robię te zadania jak najbardziej umiem) ale mi nie wychodzą przynajmniej tak mi się wydaje. To fragment kodu, który napisałem do gry "jednoręki bandyta":

#include <iostream>
#include<ctime>
#include<cstdlib>

using namespace std;
int stawka;
int kasa=500;
int stankonta()
{
    if(kasa<=0)
    {
        cout<<"Nie masz juz kasy!\n";
        return 0;
    }
    return kasa;
}
int zakres(int maxx, int minn)
{
    return rand() %(maxx - minn+1)+minn;
}

int main()
{
    for(;;)
    {
    srand(time(NULL));
    int wynik= zakres(25,1);
    int siodemki= zakres(5,1);
    int jackop= zakres(3,1);
    int wisnie= zakres(8,1);
    cout<<"Twoj stan konta: "<<stankonta()<<endl;
    cout<<"Wpisz stawke: ";
    cin>>stawka;
    cout<<"Trwa losowanie...\n";
    if(stawka>kasa)
    {
        cout<<"Nie masz wystarczajaco pieniedzy!\n ";
        continue;
    }
    else if(wynik==siodemki)
    {
        cout<<"Wygrales 7x stawki\n";
        kasa=kasa+stawka*7;
    }
    else if(wynik==wisnie)
    {
        cout<<"Wygrales 5x stawki\n";
        kasa=kasa+stawka*5;
    }
    else if(wynik==jackop)
    {
        cout<<"Wygrales 10x stawki!!!\n";
        kasa=kasa+stawka*10;
    }
    else
    {
        cout<<"nie wygrales ;(\n";
        kasa=kasa-stawka;
        if(kasa<=0)
        {
            cout<<"bankrut!\n";
            return 0;
        }

    }
    }

    }





 

komentarz 1 października 2019 przez amelia.cpp Obywatel (1,860 p.)
Myślę że kod nie jest najgorszy.

Każdy początkujący miał kiedyś problem z zadaniami. Polecam robić ich dużo, i próbować rozwiązać każdy problem. Zawsze można ostatecznie poszukać rozwiązania w internecie i dobrze je przeanalizować. Nie poddawaj się! :)
komentarz 1 października 2019 przez tkz Nałogowiec (42,000 p.)

@speed-koles, Spójrz na następny rozdział w książce... 

komentarz 1 października 2019 przez speed-koles Nowicjusz (120 p.)

@amelia.cpp, Dzięki za motywujące słowa pozdrawiam :D

komentarz 1 października 2019 przez speed-koles Nowicjusz (120 p.)
Ale to jest rozdział poświęcony algorytmom a ja chciałem przedstawić dokładnie swój problem i dać kod do przeanalizowania.
komentarz 1 października 2019 przez tkz Nałogowiec (42,000 p.)
Ale co z kodem? Do oceny? Oceniać na podstawie tego co umiesz, to jest okey. Z spisu treści wydaję się właśnie takim słowem-kierunkowskazem.

1 odpowiedź

+1 głos
odpowiedź 1 października 2019 przez Bondrusiek Maniak (61,370 p.)
Witam,

każdy z programistów kiedyś zaczynał i miał problemy z mobilizacją czy robieniem zadań.Aby podnosić swojego skilla musisz robić projekty, zadania, udzielać się na tematycznych forach oraz dokształcać się. Nie możesz wymagać od siebie zbytniego perfekcjonizmu tzn po przeczytaniu kilku książek nie będziesz wiedział wszystkiego. Na to potrzeba czasu, praktyki. W sumie po to jest to forum gdy czegoś nie wiesz na czymś się zatrzymałeś to możesz wrzucić posta, którego mogą zobaczyć inne osoby i Ci pomóc. Zobacz na np branżę gier komputerowych, gdzie teraz są to silne miliardowe korporacje. Kiedy wydają grę to powinno być wszystko zamknięte na ostatni guzik a po kilka godzin po wydani okazuje się że gra jest niegrywalna. Wtedy próbują to naprawiać tworzą jakieś łatki aby poprawić itp. Skoro duże firmy tak mogą to Ty też możesz. Także twórz kod, kombinuj, publikuj efekty swojej pracy(powolutku a do przodu).

Co do kodu to na plus format oraz nazewnictwo. Łatwo się to czyta, analizuje. Co do poprawy to możesz pozbyć się zmiennych globalnych i zastąpić je zmiennymi lokalnymi. Zamiast else if(wynik == cośtam) możesz zastosować instrukcje wielokrotnego wyboru switch(wynik) oraz poprawić argumenty funkcji zakres tak aby pierwszym argumentem był min a drugim max to jest bardziej intuicyjnie. Możesz również zmienić nazwę minn na samo min, to samo z maxx na max.

Więcej info:

http://www.algorytm.edu.pl/wstp-do-c/typy-zmiennych.html

http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Warunek-wielokrotnego-wyboru-switch-case/17
komentarz 1 października 2019 przez speed-koles Nowicjusz (120 p.)
Dzięki za odpowiedź ;) zrobie wszystko co mi doradziłeś Pozdrawiam

Podobne pytania

0 głosów
2 odpowiedzi 210 wizyt
0 głosów
1 odpowiedź 247 wizyt
0 głosów
1 odpowiedź 695 wizyt

92,556 zapytań

141,403 odpowiedzi

319,559 komentarzy

61,942 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!

...