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

Nie wiem, co robić.

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
322 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,020 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,020 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,440 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 273 wizyt
0 głosów
1 odpowiedź 307 wizyt
0 głosów
1 odpowiedź 882 wizyt

93,187 zapytań

142,203 odpowiedzi

322,022 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2345p. - dia-Chann
  2. 2306p. - Łukasz Piwowar
  3. 2295p. - Łukasz Eckert
  4. 2282p. - CC PL
  5. 2252p. - Tomasz Bielak
  6. 2219p. - Łukasz Siedlecki
  7. 2215p. - rucin93
  8. 2201p. - Michal Drewniak
  9. 2156p. - Marcin Putra
  10. 2152p. - Adrian Wieprzkowicz
  11. 2105p. - Mikbac
  12. 1941p. - Anonim 3619784
  13. 1733p. - rafalszastok
  14. 1480p. - Michał Telesz
  15. 1469p. - ssynowiec
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...