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

Od czego zacząć??

VPS Starter Arubacloud
+1 głos
483 wizyt
pytanie zadane 25 sierpnia 2015 w Rozwój zawodowy, nauka, praca przez anilorak123 Nowicjusz (150 p.)

Witam! 
Zacznę od tego że nigdy nie miałam stycznością z programowaniem. Natomiast chciałabym napisać pewien program, mianowicie chciałabym aby można było wylosować osobę. Na zasadzie losowania na święta, w sensie kto komu ma dać prezent. Mam nadzieje, że wie pan o co mi chodzi. Od jakiego Pana kursu powinnam zacząć, aby osiągnąć swój cel??

9 odpowiedzi

+4 głosów
odpowiedź 25 sierpnia 2015 przez Gramad Obywatel (1,660 p.)
Moim zdaniem najlepiej było by Ci zacząć od 0 odcinka kursu( o tutaj: https://www.youtube.com/watch?v=ErOzmh3BiXU&list=PLOYHgt8dIdoxx0Y5wzs7CFpmBzb40PaDo ).
Oglądaj 1 odcinek dziennie i staraj się jak najwięcej z niego wyciągnać.
5 dnia dobrniesz do odcinka z liczbami losowymi i powinnaś być już w stanie napisać pożądany program . Poza tym, jeśli programowanie Ci się spodoba, z takimi podstawami możesz swobodnie kontynuować naukę.
Czy 5 dnii to dużo, aby nauczyć się czegoś co dla większości ludzi jest "czarną magią" ;)? Ja myślę, że nie..

Pozdrawiam i życzę powodzenia :)
+1 głos
odpowiedź 25 sierpnia 2015 przez Czort Nałogowiec (32,500 p.)
Nie łatwiej rzucić monetą?
komentarz 26 sierpnia 2015 przez niezalogowany
Nawet ładnie, wszystko, po kolei opisała w swoim pytaniu, wytłumaczyła wszystko, co chce zrobić, a wy dalej nie umiecie normalnie odpowiedzieć. Nosz co za czort...
0 głosów
odpowiedź 25 sierpnia 2015 przez shadou102 Pasjonat (21,630 p.)
Nie skacz od razu na głęboką wode zacznij od początku aby wszystko ładnie zrozumieć. Fundamenty są najważniejsze
komentarz 25 sierpnia 2015 przez arek01996 Stary wyjadacz (12,100 p.)

Po czym wnioskujesz, że jestem "nowicjuszem"?

Nie mówie czego to ja bym nie napisał tylko zwróciłem uwagę na to, że assembly nie jest wcale trudnym jęzkiem więc mówienie, że to głęboka woda mija się z celem.

Z drugiej strony Twój atak na moją osobę sugeruje, że masz jakieś kompleksy odnośnie programowania. Nie dopuszczasz myśli, że ktoś może wiedzieć coś więcej od Ciebie czy reprezentujesz typowe cebulactwo i gardzisz tymi którzy mają odrobine większe ambicje niż "losowanie bez powtórzeń".

nie pozdrawiam.

komentarz 25 sierpnia 2015 przez Ehlert Ekspert (212,630 p.)

frown

wgl nie chodzi mi o Ciebie tylko o wypowiedź Doriona.

Nowicjusz odnosiło się do autora tematu. Nieźle spiąłeś.

Pozdrawiam.

komentarz 25 sierpnia 2015 przez Dorion300 Szeryf (90,250 p.)

następnym razem polecam cytować lub pisać do kogo piszemy.

np. @Ehlert "Tu wklej dowolny tekst"

Po ja sam nie wiedziałem to kogo ktoś pisze.

 

Pierwszy program który napisałeś wykorzystywał algorytm losowania bez powtórzeń? Jeśli nie, to nie kozacz.

Chodziło mi bardziej o grę słowną.

Uważam że można z łatwością nauczyć się w kilka dni programowania aby ogarnąć losowanie bez powtórzeń i obsługę plików.

Więc "Głęboka woda" jest za mocnym słowem.

Oczywiście jest to ocena subiektywna.

Więc każdy uważa inaczej...

komentarz 25 sierpnia 2015 przez shadou102 Pasjonat (21,630 p.)
Jak ktoś nigdy nie miał styczności z programowaniem to na samym poczatku pętla "for" może być "głęboką wodą"
komentarz 25 sierpnia 2015 przez Dorion300 Szeryf (90,250 p.)
A jakoś tą "głęboką wodę" można ją szybko nauczyć...
0 głosów
odpowiedź 25 sierpnia 2015 przez Grzyboo Nałogowiec (28,860 p.)
Cały kurs C++
0 głosów
odpowiedź 25 sierpnia 2015 przez Maniti Obywatel (1,220 p.)
https://www.youtube.com/watch?v=QapjTCGV7GM - 4 odc. kursu C++ Pana Mirosława

liczby pseudo losowe to może być tobie pomocne

Pozdrawiam :D
0 głosów
odpowiedź 25 sierpnia 2015 przez magdalenka120 Obywatel (1,520 p.)
Myślę, że lepiej jak spróbujesz od jakiegoś prostszego programu, dobrze zacząć od czegoś ambitnego, ale idąc małymi krokami do przodu więcej się osiąga :) Także jakieś hm... Tworzenie prostej aplikacji, jak najbardziej :)
0 głosów
odpowiedź 25 sierpnia 2015 przez arek01996 Stary wyjadacz (12,100 p.)

Naklepałem na szyboko z nudów jak chcesz to skorzystaj jak nie to nie. Pozdrawiam

#include <iostream>
#include <vector>
#include <fstream>
#include <cstdlib>
#include <ctime>

using namespace std;

class PeopleDatabase
{
public:
    PeopleDatabase(string path /* sciezka do pliku z imionami*/)
    {
        fstream file;

        file.open( path.c_str(), ios::in );
        if( file.good() )
        {
            string currentLine;

            while( !file.eof() )
            {
                getline( file, currentLine );
                names.push_back( currentLine );
            }
            file.close();
        }
        else
        {
            cout << "Error! Nie udalo otworzyc sie pliku!" << endl;
            delete this;
        }
    }

    string getName( int index )
    {
        if(names.size() > index )
        {
            return names[index];
        }
        else return "Error";
    }

    int getSize()
    {
        return names.size();
    }

private:
    vector < string > names;

};

int main()
{
    string * drawnAtRandom;
    int * noRepeat;
    PeopleDatabase team("ludzie.txt");
    srand( time(NULL) );


    drawnAtRandom = new string[team.getSize()];
    noRepeat = new int[team.getSize()];
    int iter = 0;

    while(team.getSize() > iter)
    {

        int round = rand()%team.getSize();

        if(iter != round)
        {
            int repeated = 0;

            for(int i = 0; i<iter; i++)
            {
                if(round == noRepeat[i])
                    repeated++;
            }

            if(repeated == 0)
            {
                drawnAtRandom[iter] = team.getName(round);
                noRepeat[iter] = round;
                iter++;
            }
        }

    }

    for(int i=0; i < team.getSize(); i++)
    {
        cout << team.getName(i) << " wylosowal: " << drawnAtRandom[i] <<endl;
    }
    return 0;
}

 

0 głosów
odpowiedź 26 sierpnia 2015 przez Mieszko I Stary wyjadacz (10,980 p.)
Zacznij naukę od początku od pierwszego odcinku kursu pana Mirosława Zelenta. Nie od razu kraków zbudowano. Ucz się harmonijnie, bo inaczej nic z tego co napisałeś nie będziesz wiedział.

Pozdrawiam.
1
komentarz 26 sierpnia 2015 przez koboltq Obywatel (1,540 p.)
*napisałaś

*wiedziała
0 głosów
odpowiedź 26 sierpnia 2015 przez niezalogowany
Myślę, że jednak musisz zacząć po prostu od początku :)

Jeśli chcesz się po prostu nauczyć programować (w sensie, że nie wiążesz z tym swojej przyszłości, ani nie chcesz tworzyć wielkich programów, tylko chcesz się po prostu trochę nauczyć) to najlepiej pooglądać od początku do końca kurs C++ u Pana Mirosława Zelenta https://www.youtube.com/channel/UCzn6vAfspIcagLax1fck_jw Jak chcesz umieć pisać w konsolce (czyli, że nie ma ładnego okienka, tylko czarne tło, białe literki) to wystarczy, że pooglądasz tylko 17 odcinków (tylko, hę? ;)). Tutaj masz odcinek 0-owy (nie wiem, czemu się nie znalazł na playliście) https://www.youtube.com/watch?v=ErOzmh3BiXU a tutaj odcinek 17-nasty (również nie wiem, czemu go tam nie ma O_o) https://www.youtube.com/watch?v=w3GCFw0-_DQ To ci powinno wystarczyć ;)

Chyba, że po prostu chciałabyś kod, to mogę ci podać, ale jednak patrząc po opisie pytania, chciałabyś się nauczyć programować, więc jak na razie zacznij tak, jak ci mówiłem ;)
komentarz 27 sierpnia 2015 przez anilorak123 Nowicjusz (150 p.)
W sumie to chce po prostu mieć ten program, więc byłabym wdzięczna za kod. :D
komentarz 27 sierpnia 2015 przez niezalogowany
Aha. No dobra, już daję kod, tylko jeszcze dodam parę komentarzy, żebyś co najmniej wiedziała o co chodzi, co ten kod robi ;) Poczekaj chwilkę...
komentarz 27 sierpnia 2015 przez niezalogowany

Proszę, oto kod:

#include <iostream>
#include <cstdlib>
#include <time.h>
#include <cctype>
#include <windows.h>

using namespace std;

int strona,orly,reszki;
bool gra=true;
char obstawienie,coDalej;

int main()
{
    srand(time(NULL));
    while(gra==true)
    {
        system("cls");
        cout << "\n\n\n\t\t\t>>> ORZEL CZY RESZKA? <<<\n\n\n\n";
        cout << "Obstawiaj wynik, R=wiecej Reszek, a O=wiecej Orlow: ";
        //tutaj obstawiasz, wpisujesz r albo o
        cin >> obstawienie;

        //jesli nie wpiszesz ani o, ani r, tylko co innego, to wtedy mousisz wpisac od nowa
        while(tolower(obstawienie)!='o'&&tolower(obstawienie)!='r')
        {
            cout << "Nie ma takiej opcji, moneta ma tylko dwie strony. Wpisz ponownie: ";
            cin >> obstawienie;
        }

        orly=0;
        reszki=0;

        //for(int i=0;i<100;i++) ta linijke i te dwie klamerki dalem w komentarze, bo to jest przerobka mojego programu, ktory losowal 100 razy, a nie tylko raz
        //{
            //wlasciwe losowanie, czyli czy wyjdzie reszka, czy orzel
            strona=rand()%2+1;

            if(strona==1)
                orly++;
            if(strona==2)
                reszki++;
        //}

        //dzwiek wylosowania
        cout << "\a" << endl;
        cout << "Ilosc Orlow: " << orly << endl;
        cout << "Ilosc Reszek: " << reszki << endl;

        //jesli orlow bedzie wiecej niz reszek, a do tego obstawilas wlasnie orly, to wtedy wygrasz
        if(orly>reszki&&tolower(obstawienie)=='o')
        {
            cout << "BRAWO!!! Obstawiles " << obstawienie << " i wygrales!" << endl << endl;
            cout << "Jesli chcesz grac od nowa, wpisz A. Jesli chcesz zakonczyc gre, wpisz E: ";
            //wpisujesz co chcesz dalej robic, wyjsc z programu, czy dalej grac, musisz wpisac a, albo e
            cin >> coDalej;

            while(true)
            {
                if(tolower(coDalej)=='a')
                {
                    gra=true;
                    break;
                }
                else if(tolower(coDalej)=='e')
                {
                    gra=false;
                    break;
                }
                //jesli nie wpiszesz ani a, ani e, to wtedy musisz od nowa, to samo co wczesniej ;)
                else
                {
                    cout << "Nie ma takiej komendy. Wpisz od nowa: ";
                    cin >> coDalej;
                }
            }
        }
        //jesli reszek bedzie wiecej niz orwlow, a do tego obstawilas wlasnie reszki, to wtedy wygrasz
        else if(reszki>orly&&tolower(obstawienie)=='r')
        {
            cout << "BRAWO!!! Obstawiles " << obstawienie << " i wygrales!" << endl << endl;
            cout << "Jesli chcesz grac od nowa, wpisz A. Jesli chcesz zakonczyc gre, wpisz E: ";
            cin >> coDalej;

            while(true)
            {
                if(tolower(coDalej)=='a')
                {
                    gra=true;
                    break;
                }
                else if(tolower(coDalej)=='e')
                {
                    gra=false;
                    break;
                }
                else
                {
                    cout << "Nie ma takiej komendy. Wpisz od nowa: ";
                    cin >> coDalej;
                }
            }
        }
        //jesli bedzie remis (nie wazne co obstawilas), to bedzie remis :)
        //moglby byc remis, gdyby sie losowalo np. 100 razy, ale my losujemy tylko raz,
        //czyli ze moze byc 1 orzel, albo 1 reszka, wiec w sumie linijki 105-129 nigdy sie nie wykonaja :)
        else if(reszki==orly)
        {
            cout << "Remis, tyle samo!!! Obstawiles " << obstawienie << "." << endl << endl;
            cout << "Jesli chcesz grac od nowa, wpisz A. Jesli chcesz zakonczyc gre, wpisz E: ";
            cin >> coDalej;

            while(true)
            {
                if(tolower(coDalej)=='a')
                {
                    gra=true;
                    break;
                }
                else if(tolower(coDalej)=='e')
                {
                    gra=false;
                    break;
                }
                else
                {
                    cout << "Nie ma takiej komendy. Wpisz od nowa: ";
                    cin >> coDalej;
                }
            }
        }
        //jesli zle obstawilas, to przegralas :(
        else
        {
            cout << "Niestety przegrales." << endl << endl;
            cout << "Jesli chcesz grac od nowa, wpisz A. Jesli chcesz zakonczyc gre, wpisz E: ";
            cin >> coDalej;

            while(true)
            {
                if(tolower(coDalej)=='a')
                {
                    gra=true;
                    break;
                }
                else if(tolower(coDalej)=='e')
                {
                    gra=false;
                    break;
                }
                else
                {
                    cout << "Nie ma takiej komendy. Wpisz od nowa: ";
                    cin >> coDalej;
                }
            }
        }
    }
    return 0;
}

No, może i jest długi, ale jakoś go nie optymalizowałem, ważne, że działa ;)

Jak chcesz, to go sobie przerób na własne potrzeby, czyli np. zamiast wypisywania "Niestety przegrales.", możesz to przerobić na "Niestety przegrałaś" ;)

Podobne pytania

0 głosów
1 odpowiedź 193 wizyt
pytanie zadane 14 lutego 2020 w Rozwój zawodowy, nauka, praca przez kaminie318 Bywalec (2,070 p.)
0 głosów
3 odpowiedzi 325 wizyt
+1 głos
5 odpowiedzi 1,323 wizyt

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

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

...