W tym odcinku pojawiły się pierwsze schody :) Widziałem w komentarzach, że kilka osób też miało z tym problem, więc opisze jak doszedłem do oświecenia. Po pierwsze powtórzenie sobie tego pozwoli mi na jeszcze lepsze zrozumienie, a po drugie, może się komuś przyda :) Zastanawiałem się, jak to możliwe, że po powróceniu z linii 8 do linii 3 z pliku pobierane są kolejne linie (9,10,11 itd.). Otóż: Za pobieranie kolejnych linii odpowiada funkcja 'getline()', która ma dwa argumenty (oddzielone przecinkiem). Pierwszy mów skąd program bierze te linie, a drugi gdzie ma je zapisać (w jakiej zmiennej - my nazwaliśmy ją "linia"). I ta funkcja ubrana w 'While' będzie zwracać linie, aż do wyczerpania wszystkich linii w pliku txt. Zmienną nr_linii utworzyliśmy sobie roboczo na potrzeby 'switcha'. Pobieranie linii od 3-8 jest logiczne, ale później następują czary :) Otóż, zmienna nr_linii nie wpływa na funkcję getline(). Ona cały czas pobiera kolejne linie pliku txt. po pobraniu 8 linii z pliku txt My mówimy programowi: zmień zmienną nr_linii na 3. I teraz: funkcja getline() pobierze kolejny wiersz z txt (nr9), ale 'switch' "będzie myślał", że to linia 3. i tam zapisze linię 9. później 10-tą linię jako 4 itd. Zmieniając nr_linii z 8 na 3, dokonaliśmy także inkrementacji zmiennej nr_pytania, która odpowiada za to, na którym miejscu w tablicy zapisać kolejne linie. Żeby to ogarnąć musiałem wrócić do początku odcinka, bo trochę chyba przespałem ważną informację o działaniu funkcji getline, oraz dokładnie to wszystko przemyśleć :)
+Mateusz Szeszko wow! faktycznie to logiczne, a nie wiedziałem co tam się dzieje. Zdecydowanie myląca jest nazwa zmiennej nr_linii, gdyż służy ona do sterowania case'm i dla osoby początkującej wprowadza zamieszanie. BTW dziwne, że Pan Mirosław o tym nie wspomniał :P THX!
Miałem chwile załamania, bo nie rozumiałem co zadziało się w tym odcinku. Po długich namysłach i analizowaniu kodu zrozumiałem. Nie załamujcie się! Jedni zobaczą i zrozumieją, a inni muszą obejrzeć film kilka razy. Najważniejsze, aby się nie załamywać, zrobić przerwę i działać dalej. Tylko tak jesteśmy w stanie do czegoś dojść. Pozdrawiam :)
ja się w 2019 uczę tego :D naprawdę spoko to jest po 6 lekcjach sam napisałem ten "Bankomat" z odcinka 2 aby funkcjonował jak prawdziwy :D czyli blokady itp itd zmiany pinu wypłata wpłata sprawdzenie balansu. jedna rzecz która mogę dołożyć to sprawdzenie balansu i zapobieganiu wypłacenia za duzo
@@RappelzWikiaPolska Hah ja tak samo. Dużo wymyślam sobie tego typu ćwiczeń żeby lepiej się nauczyć czynności z każdego odcinka. Perfekcyjne opanowanie pętli, instrukcji warunkowych itp. bardzo pomaga bo w nowym odcinku łatwiej się odnaleźć. PS. Jakby ktoś był taki tępy jak ja i pokazuje mu, że plik nie istnieje czy co tam wpisał to sprawdź czy nie zrobiłeś nowego projektu jak ja. Zrobiłem nowy projekt i się dziwiłem, że mi pliku (w moim przypadku card.txt) nie wczytuje xD
Jeśli chce zapisać dane nie na końcu tylko w srodku pliku to są jakies komendy czy musze skopiować cała zawartość pliku zmienić ja w programie i całość zapisać?
kiedy czegoś nie rozumiałem w tym odcinku to po prostu odchodziłem od komputera , spokojnie w ciszy przetwarzałem w głowie informacje , głęboki wdech i na spokojnie oglądam jeszcze raz , polecam pomaga
Dziękuję bardzo Panie Mirku! Dzięki tej lekcji udało mi się zrobić program bankowy, w którym można utworzyć konto oczywiście oraz przechować jego dane na komputerze, a potem zalogować się na nie i mieć do niego dostęp! Jeszcze raz dziękuję :)
Chwała Panu Panie Mirku. Świetny odcinek. Jako początkujący programista już na tym poziomie zrobiłem program który pobiera zadanie z pliku z listą zadań i automatycznie rozdziela je pracownikom. Mala uwaga. W pierwszym przykładzie żeby dzialala funkcja atoi musiałem dodać bibliotekę .
Po jakimś czasie zrozumiałem tą kwestię. W razie jakiegokolwiek błędu najlepiej go analizować w głowie zamiast patrzeć na kod (w ten sposób nie skupiamy się na kodzie, tylko na głównym problemie). Zajęło mi to pół tygodnia i kosztowało trochę nerwów, trzeba być solidnym i pełnym wiary, to wszystko skończy się powodzeniem. Pozdrawiam
Notatka dla osób, które na tym odcinku napotkało ścianę! Też mnie zszokował początkowo, ale zrozumiałem go, jak przerobiłem poprzednie odcinki, jeszcze raz, zapoznałem się z funkcją switch ponownie i po tym obejrzałem ten odcinek jeszcze raz i już wiedziałem co się tutaj dzieje! Nie poddawajcie się, za drugim lub trzecim razem zrozumiecie ten odcinek :)
Twoje poradniki są extra! Jestem takim nowym młodym "uczniem" na programistę. Zapisuje notatki, ale nadal mam z tym problem :/. Dobrze było jak Pan podsumowywał wszystkie ważne informacje i komendy na końcu w pierwszym odcinku. A tak poza tym nadal będę się uczył, choć jeszcze jestem w Gim. Wyrazy szacunku :).
@@Filip_nowayekŚcieżka mojej kariery inaczej się potoczyła :) Ale powiem, że zasmakowanie pierwszych chwil z tym poradnikiem nie poszło na marne. Przydało się w pewnych momentach życia.
bardzo dobry profesjonalny kurs robiący z ludzi, ludzi programistow a nie tylko programistow. Wszechsronna wiedza i rozwój :) Podstawy C++ już dawno znam, ale kurs przyda się do nauki fstream przy podejściu obiektowymdo plikow. Zawsze szczęście mam pracować na starych metodach (stdio.h) pozdrawiam
Kurcze ten filmik już trudniejszy ale tak czy tak się ciesze że istnieje taka osoba co potrafi te magie wytłumaczyć jestem teraz w 8 klasie podstawówki i za te wiedze z odcinków dostałem już pare szóstek więc wielkie dzięki człowieku jesteś niesamowity
Jesteś najlepszy, jestem na kierunku programista i nauczanie mojego nauczyciela polega na kazaniu nam przepisać kod z ekranu, a potem bez wytłumaczenia kazać przepisać drugi itd. Nauczyłeś mnie w 20min więcej niż ten nauczyciel przez pół roku
Bardzo polecam ten kanal ,wysmienity i bardzo czytelny kurs.wszystko ladnie wyjasnione krok po kroku.Mam nadzieje ze bedzie jeszcze wiecej takich ciekawych filmikow.pozdr
Podziwiam Pana. Naprawdę bardzo fajny kurs. Jestem mile zaskoczony. Mam nadzieję, że się Pan nie zniechęci, Panie Mirosławie. Trzymam kciuki i czekam na kolejne ciekawe lekcje. Poproszę więcej algorytmiki :)
Chciałem Panu osobiście pogratulować i podziękować za kurs C++, zadzwoniłem na podany w niniejszym odcinku numer telefonu ;) Niestety nie udało się :) 123456.... Dlatego Gratulacje i podziękowania tutaj. Pozdrawiam.
w sumie jak obejrzałem 3 razy i zrobilem 5 programów opartych na tym to teraz to bardzo dobrze rozumiem nawet nie chce wiedziec co by bylo jak zamiast pana tłumaczyłby mi to mój nauczyciel
Bardzo podoba mi się ten kanał, programowanie C++ zacząłem od stycznia tego roku z książką Symfonia C++ i ten kanał jest jak ta książka = świetny++ Fajne są też ciekawostki matematyczne. SUPER Pozdrawiam Kacper :)
Dzień dobry, st. asp. Kowalski. Policja dydaktyczna, wydział nauk informatycznych. Czy wie Pan o ile przekroczył Pan w tym odcinku dozwolony stosunek wtf/min?
Dziękuję za wspaniały poradnik. Wszystko przejrzyście, zwięźle i profesjonalnie wytłumaczone. W podziękowaniu za ten film podarowałem kilka symbolicznych złotych na dalszy rozwój kanału. ~ Jonasz
Zapisywanie i odczytywanie przećwiczyłem. Zajęło mi opanowanie tego (całkowicie rozumiem zależności i pisanie całych dwóch programów od 0) całe popołudnie :D Lecimy dalej :)
Pozwolę sobie opisać jak dostosowałem programik "quiz" dla potrzeb nauki C++. Swoją przygodę z próbami programowania zacząłem może z miesiąc temu i nie ukrywam, że jest to bardzo wciągające. W trakcie nauki robiłem notatki do zeszytu, ale teraz wykorzystuję "quiz". Jeśli poznam jakąś nową funkcję, to do pliku "quiz.txt" dopisuję odpowiednio sformułowane pytanie i odpowiedzi, aby całość zawierała jak najwięcej informacji do opanowania przez umysł. Odpowiedzi są podobne do siebie, kluczowy jest detal, np.: Aby skasowac 10 znakow zmiennej string napis poczawszy od 5 indeksu, uzywamy funkcji dostepnej w bibliotece string: napis.erase (10,5); napis.delete (10,5); napis.erase (5,10); napis.delete (5,10); c I tak dopisuję każdą nowo poznaną rzecz. Sam program odpowiednio rozbudowałem. Przede wszystkim dodałem funkcję, która w pierwszym kroku liczy linie w pliku tekstowym, tym samym ustala ile jest pytań. Dodałem moduł losujący bez powtórzeń. Po uruchomieniu programu na ekranie pojawia się "Ile pytan wylosowac (maksymalnie np. 32)", podaję liczbę i moduł losujący zapisuje wylosowane liczby w tablicy. Po tym przygotowuje się plik do wydruku, gdzie w nagłówku będzie autor i tytuł testu, następnie wylosowane pytania wraz z odpowiedziami A-D, na końcu prawidłowe odpowiedzi. Jeśli w pliku quiz.txt będę miał np. 300 pytań, do mogę sobie wylosować np. 24 i tyle się zapisze w pliku wydruk.txt, który zabieram ze sobą by nad jeziorkiem przy kawie można było sobie co nieco utrwalić. Oczywiście wydruk.txt tworzy się równolegle, bo docelowo rozwiązuję testy z wylosowaną ilością pytań na komputerze. Trochę przerobiłem, bo po udzieleniu odpowiedzi i otrzymaniu komunikatu dobrze/źle, po sekundzie pojawia się następne wylosowane pytanie na "czystym" ekranie. Numery wylosowanych pytań z błędnymi odpowiedziami zapisują się w kolejnej tablicy, na koniec program odpyta je jeszcze raz. Na końcu pojawia się punktacja np. Zdobyles 15 z 30 mozliwych pkt. (50%). Zastanawiałem się jak w prosty sposób zrealizować wyświetlanie pytań wylosowanych i zapisanych w innej tablicy, aż się prosiło, żeby spróbować czy da się zawrzeć nawiasy kwadratowe w nawiasach kwadratowych, wywołać szufladkę w szufladce ;) Okazało się, że się da... Przykładowy fragment kodu w pętli for: cout
w Listopadzie przestałem rozumieć o co chodzi - wracałem wielokrotnie do tego odcinka, zacząłem html, niestety Java zmusiła mnie do powrotu - teraz wszystko rozumiem! Dziękuje :)
Świetny odcinek, fajne przykłady, tylko rzeczywiście pojawiają się niełatwe rzeczy, ale wszystko da się zrozumieć ;) Chcąc ogarnąć to "na szybko" stracimy czas, a ze spokojem, po woli wszystko przetrawić, przećwiczyć i już wchodzi. Pozdrawiam!
Jeżeli piszesz w CodeBlocks to powinno na czerwono pokazać miejsce błędu z lewej strony linii i w tym okienku poniżej, Logs & others. Ten błąd jest opisany jako: "error: expected ' ; ' before ' ) ' token ...i absolutnie się nie wymądrzam! Wiem to stąd, że przed każdym "F9" mam tam czerwono, aż boli!
Fakt, zrobiły się schody. Robię lekcje z tego kursu regularnie i prowadzę notatki. Jednak co kilka lekcji zmuszam się żeby robić jakikolwiek program opierający się na dotychczas zdobytej wiedzy a zwłaszcza na ostatnich lekcjach. Robię program tak długo aż nie zadziałają funkcje które sobie obmyśliłem. Polecam. Takie stawianie sobie samemu wyzwań i ciągłe wertowanie kursu utrwala wiedzę.
Wspaniały kurs. Wiele razy oglądałem i powtarzałem robienie w kółko tego samego programu. Wykończył mnie dość mocno intelektualnie ten quiz. Czas popracować jeszcze nad nim, oswoić się i mknąć dalej. Cieszę się, że zauważam u siebie stopniową poprawę i swobodę myślenia i rozwiązywania problemów. Nie jest to jeszcze super wysoki poziom, ale mam z tego frajdę. :) Dziękuję, i życzę sobie i Panu cierpliwości oraz wytrwałości w pracy. :) Powodzenia!
Do tej pory było łatwo i przyjemnie, teraz zaczęły się schody :( Pytanie, dlaczego w switchu (10:55) nie mogę podać po prostu tylko imie, nazwisko i nr_tel, muszę pisać imie=linia. Dlaczego nie mogę zamienić kolejności linia=imie itd. Zgubiłem się w tym miejscu.
Pytanie sprzed 3 lat, ale jakby ktoś teraz o tym myślał, to te zmienne są na razie puste i trzeba im przypisać wartość z linii, czyli napisać np. imie=linia. Dokładnie w tej kolejności bo nie przypisujesz linii wartości zmiennej imie (która jest pusta), tylko zmiennej imie przypisujesz wartość z linii.
@@tooomasz wyrażenie z operatorem przypisania czytamy wyjątkowo od prawej do lewej to jest wykonujemy obliczenia po prawej stronie i rezultat przypisujemy do lewej strony.
Za pierwszym razem jak zobaczyłem ten cały kod, byłem blisko palpitacji serca. Jednak, po 2 obejrzeniu video, nie taki diabeł straszny jak go malują. Pozdrawiam serdecznie!!! :))))
Nasze nastawienie przy nauce tego jest bardzo ważne. Jeśli będziemy próbowali rozumieć co autor mówi bez wizji i rozumienia dokąd zmierzamy, zanim tego co robi, powoduje nasze zniechęcenie. Najpierw trzeba wiedzieć co w ogóle robimy w sensie widzieć jakby już rezultat ostateczny np w tym przypadku widzimy plik i program który przenosi dane do pliku, lub z pliku. A później po prostu zapamiętujemy (może na początku zapisujemy) kroki które do tego prowadzą, na początku przez naśladowanie krok po kroku autora kursu. Najpierw wizja celu, później naśladowanie a później przyjdzie zrozumienie.
Nie mogę się skupić nad tym odcinkiem i od odczytu z pliku tekstowego zaczęło się robić tego wszystkiego na dużo. Czy osoba ucząca programowania powinna uczyć się wszystkich składni na pamięć? Czy wystarczy rozumieć?
12:03 „Fajne prawda ? I wcale nie takie trudne!” :D Swoją przygodę z programowaniem wlasnie zacząłem z panem - panie Zalent :) i dla mnie ten etap juz mnie przerasta :p ale lecimy dalej :D Pozdrawiam ! :)
Pewnie nazwaliscie plik "quiz.txt" zamiast "quiz" i system dodal sam od siebie rozszezenie txt i teraz sa dwa ("quiz.txt.txt"), czyli nie zgadza sie nazwa i program go nie widzi.
Czesc troche odkopie ale moze komus sie przyda u mnie byl srednik po while(getline(plik,linia)); przez co nie ladowalala sie tresc pytan z pliku :D pozdrawiam :)
Panie Mirosławie świetny materiał :) Zapomniał Pan wyświetlić tematu quizu i swojego nicku, który odczytuje Pan wcześniej z pliku tekstowego. Pozdrawiam oby więcej takich materiałów.
Przyspieszanie filmiku wcale nie pomaga oglądającym (i ćwiczącym), bo praktycznie co kilkanaście sekund musimy pauzować, by zdążyć przepisać to, co się pojawiło. Na pierwszych filmikach nauka szła szybciej, bo filmik miał normalną prędkość i nie trzeba było pauzować. Też czasami trudno jest trafić w moment, aby zastopować, bo po pojawieniu się tekstu, od razu pojawia się inna część kodu. Inna rzecz: co dokładnie oznacza ta linijka?: transform(odpowiedz.begin(),odpowiedz.end(),odpowiedz.begin(), ::tolower); Cytuję: "Zmień, czyli transformuj stringa. Tu podajemy początek naszego napisu w odpowiedzi, tu koniec i jeszcze raz początek (...)" Dobrze, ale dlaczego tak? Skąd to się w ogóle wzięło? Po co bierzemy dwa początki? Nie można po prostu wziąć całej zawartości zmiennej odpowiedz? Jeśli ktoś korzysta z tego kursu, to znaczy, że nie specjalizuje się w tym języku, albo nawet w programowaniu (jak ja), więc każdą nową rzecz należałoby skrupulatnie wytłumaczyć, jak dziecku. Proszę mnie nie zrozumieć źle - kurs bardzo pomaga mi w przygotowaniach do II semestru na matematycznym wydziale (gdzie będziemy mieli programowanie i C++) i jestem za to wdzięczna, jednak chciałam podzielić się uwagami. (...A może to w ramach odreagowania, bo CodeBlocks mi się zawiesił i straciłam cały kod. :))
Ja tam najpierw oglądam większość tutoriali i robię identycznie jak jest na nich pokazane a potem sam sobie wyznaczam zadanie i łącze tą cała wiedzę z tego co obejrzałem w jedno i np w taki sposób powstał bankomat nie na samych ifach tylko z funkcją for, switchem itd. Polecam taką metodę.
@Samik mi się zero wyświetlało jak do inta wczytywałem stringa zerknijcie u siebie, czy przypadkiem tak się nie dzieje na wszelki wypadek zróbcie wszystko string, numer telefonu też jak już wyłapiecie gdzie jest błąd - to wtedy możecie zamienić na int. Chociaż tak naprawdę int to nie najszczęśliwszy typ danych dla numery telefonu.
Dziękuję za świetnie wytłumaczoną lekcję! Ale nerwów zjadło mi to sporo, bo mój kod od razu zakańczał program. Przeglądałem go kilka razy, uruchamiałem nawet ten sam kod pobrany z Pańskiej strony (ten działał prawidłowo), no i za którymś razem zauważyłem że w jednej linijce wpisałem: if (nr_linii=8) {nr_linii=2; nr_pytania++;} zamiast if (nr_linii==8) {nr_linii=2; nr_pytania++;}.... Ale satysfakcja ze znalezienia błędu jest bezcenna :) Pozdrawiam!
Spędziłem chyba 1.5 h żeby dowiedzieć się, że napisalem jedno = zamiast dwóch i program nawet nie chciał odpalić if(nr_lini = 8){nr_lini = 2; nr_pytania++;}. Ogolnie to sledzilem moj kod z kodem Pana Mirosława i wtedy ogarnąłem. A już miałem kończyć swoją przygodę programisty XD
I w quizie i programie przed quizem wyskakiwalo mi ze nie można znaleźć albo otworzyć tego pliku tekstowego, pomoże ktoś,kompletnie nie mam pomysłu co jest nie tak
Nie nazwałbym tego bugiem, ale program pobiera nazwę użytkownika i temat i ich nie wyświetla ;) Proponuję przebudować case 1 i case 2 następująco: case 1: temat = linia; cout
lepiej dodać wyświetlanie przed for, ale po zaczytaniu danych w pętli ze switchami. W ten sposób oddziela się te 2 rzeczy, zgodnie z ich przeznaczeniem.
Rozwiązanie dla tych co mają puste miejsca w odczycie! Ja mialem tak że po jakis kombinacjach wswietlalo mi w imieniu numer, nazwisko puste, i nr 0. Miałem program taki sam (przynajmniej tak mi sie wydaje). Zmięcie pętle na do ... while. Warunek koncowy dajemy w while i srednik po nim. I dajcie nr lini = 0; Pracuje ja Visual Studio Professional 2013
Mówicie że trudno jest a co ja mam powiedzieć jak już 30 na karku. Młode umysły lepiej chłoną wiedzę niż stary. Niestety bazowanie wyłączne na kursie pana Mirka nie wystarczy. Ja wspomagam się książką a także innymi publikacjami gdy czegoś do końca nie rozumiem. I co najważniejsze należy dużo ćwiczyć, popełniając błędy uczysz się. Ja miewałem chwile rezygnacji po wcześniejszych odcinkach. Teraz też. Ale myślę że , tak jak poprzednio, przerobię materiały kilka razy i przejdę dalej.
Polemizowałabym z tym chłonięciem wiedzy przez młode umysły, wszystko zależy od stopnia wytrenowania umysłu. Nie polecam też wielokrotnego pisania tych samych programów, lepiej wymyślić inne przykłady lub poszukać w necie/książkach.
"Mówicie że trudno jest a co ja mam powiedzieć jak już 30 na karku." Zachowujesz się jakbyś miał ponad 70 lat xD. 30 lat to też jeszcze stosunkowo młody umysł. Najwyższe wyniki w testach inteligencji wychodzą z tego co pamiętam w przedziale między 20-25 lat, więc nie jesteś tak daleko poza tym przedziałem. Nadal jesteś w wieku, kiedy Twoje zdolności poznawcze są na wysokim poziomie, a na pewno jednym z wyższych jaki będziesz miał xD.
Czegoś nie rozumiem. Switch(nr_linii) działa tak samo jak if(), prawda? Więc dlaczego program odczytuje np. przy case 6: (...) linijkę przykładowo 12? Przecież po wartości 8 powracamy do wartości 3, więc program powinien ponownie odczytać linijkę trzecią. Mógłby mi to Pan wytłumaczyć? :)
Ok, nie do końca zrozumiałem chyba funkcji getline(), ona zwraca True lub false ale również przechowuje numer linijki przy zapisanym stringu, prawda? Więc w drugim podejściu case 3 będzie odnosił się już do linijki 9. Czy dobrze to wywnioskowałem?
+Interferencyjny funkcja get line jest prostsza niż próbujesz kombinować, ona za każdym wywołaniem wczytuje kolejną linie..... i tyle. Dodatkowe zmienne są właśnie po to abyśmy mogli jakby nią sterować które linie do czego przypisujemy. Najlepiej napisz sobie programik z kilkoma zmiennymi i przypisz po kolei get line do nich i je wyświetl to zobaczysz na przykładzie. Wiem że troszkę odgrzałam temat :)
Patrycja Jeziorska Dosyć, tym bardziej, że C++ raczej potrzebowałem tylko po to, aby dobrze zrozumieć jQuery, z którego teraz aktywnie korzystam. :) Co nie znaczy, że pomoc się nie przydała, może jeszcze powiem "Kurna! A co to było z tym 'get line'? Zajrzę do komentarza Patrycji!", kto wie. :D Pozdrawiam. :)
3:40 czy plik to jest zmienna czy strumien? troche to namieszane, otwieram zmienna i otwieram plik na dysku..???? czy chodzi o to ,że otwieram strumien o nazwie plik który pokieruje dane do PLIKU o nazwie wizytówka który utworzy sie na dysku.
Napotkałem problem ze zrozumieniem, gdy użył Pan c_str() bez wyjaśniania działania tej funkcji. Nie pamiętam, by to było używane wcześniej i byłoby miło gdyby Pan wspomniał coś na ten temat :)
6:46 Witam :) Mam pytanie na temat pionowej kreski oddzielającej iOS::out | iOS::app Kiedy i w jakich okolicznościach używać tej kreski pionowej i czy mogę użyć innego znaku ? Dziękuje :)
W tym odcinku pojawiły się pierwsze schody :) Widziałem w komentarzach, że kilka osób też miało z tym problem, więc opisze jak doszedłem do oświecenia.
Po pierwsze powtórzenie sobie tego pozwoli mi na jeszcze lepsze zrozumienie, a po drugie, może się komuś przyda :)
Zastanawiałem się, jak to możliwe, że po powróceniu z linii 8 do linii 3 z pliku pobierane są kolejne linie (9,10,11 itd.).
Otóż: Za pobieranie kolejnych linii odpowiada funkcja 'getline()', która ma dwa argumenty (oddzielone przecinkiem). Pierwszy mów skąd program bierze te linie, a drugi gdzie ma je zapisać (w jakiej zmiennej - my nazwaliśmy ją "linia").
I ta funkcja ubrana w 'While' będzie zwracać linie, aż do wyczerpania wszystkich linii w pliku txt.
Zmienną nr_linii utworzyliśmy sobie roboczo na potrzeby 'switcha'.
Pobieranie linii od 3-8 jest logiczne, ale później następują czary :)
Otóż, zmienna nr_linii nie wpływa na funkcję getline(). Ona cały czas pobiera kolejne linie pliku txt. po pobraniu 8 linii z pliku txt My mówimy programowi: zmień zmienną nr_linii na 3.
I teraz: funkcja getline() pobierze kolejny wiersz z txt (nr9), ale 'switch' "będzie myślał", że to linia 3. i tam zapisze linię 9. później 10-tą linię jako 4 itd.
Zmieniając nr_linii z 8 na 3, dokonaliśmy także inkrementacji zmiennej nr_pytania, która odpowiada za to, na którym miejscu w tablicy zapisać kolejne linie.
Żeby to ogarnąć musiałem wrócić do początku odcinka, bo trochę chyba przespałem ważną informację o działaniu funkcji getline, oraz dokładnie to wszystko przemyśleć :)
+Mateusz Szeszko dzięki ziomek teraz rozumiem :)
+Mateusz Szeszko Dzięki za wskazówki!
+Mateusz Szeszko wow! faktycznie to logiczne, a nie wiedziałem co tam się dzieje. Zdecydowanie myląca jest nazwa zmiennej nr_linii, gdyż służy ona do sterowania case'm i dla osoby początkującej wprowadza zamieszanie.
BTW dziwne, że Pan Mirosław o tym nie wspomniał :P
THX!
AhAAA!!!! to jest po to żeby w ramie były zachowane tylko 5 zmiennych a nie 30 czy 40, deam! ale się musiałem na główkować :)
Dzeki, mega wytlumaczone!
Miałem chwile załamania, bo nie rozumiałem co zadziało się w tym odcinku. Po długich namysłach i analizowaniu kodu zrozumiałem. Nie załamujcie się! Jedni zobaczą i zrozumieją, a inni muszą obejrzeć film kilka razy. Najważniejsze, aby się nie załamywać, zrobić przerwę i działać dalej. Tylko tak jesteśmy w stanie do czegoś dojść. Pozdrawiam :)
Zapis łatwiutki , ale odczyt to już czarna magia XD
Dokładnie :D
Zgadzam się
200 tys osób odpadło po tym odcinku [*]
2019 pamiętamy
ja się w 2019 uczę tego :D naprawdę spoko to jest po 6 lekcjach sam napisałem ten "Bankomat" z odcinka 2 aby funkcjonował jak prawdziwy :D czyli blokady itp itd zmiany pinu wypłata wpłata sprawdzenie balansu. jedna rzecz która mogę dołożyć to sprawdzenie balansu i zapobieganiu wypłacenia za duzo
@@RappelzWikiaPolska Hah ja tak samo. Dużo wymyślam sobie tego typu ćwiczeń żeby lepiej się nauczyć czynności z każdego odcinka. Perfekcyjne opanowanie pętli, instrukcji warunkowych itp. bardzo pomaga bo w nowym odcinku łatwiej się odnaleźć.
PS. Jakby ktoś był taki tępy jak ja i pokazuje mu, że plik nie istnieje czy co tam wpisał to sprawdź czy nie zrobiłeś nowego projektu jak ja. Zrobiłem nowy projekt i się dziwiłem, że mi pliku (w moim przypadku card.txt) nie wczytuje xD
@@RappelzWikiaPolska a ja znów MiniWindowsa :D tylko muszę dodać zapisywanie hasła i konta :D
Jeśli chce zapisać dane nie na końcu tylko w srodku pliku to są jakies komendy czy musze skopiować cała zawartość pliku zmienić ja w programie i całość zapisać?
@@therottenonion2120 wystarczyłoby że byś skopiował i przeniósł pliki witytowka.txt z starego folderu do tego od nowego projektu
kiedy czegoś nie rozumiałem w tym odcinku to po prostu odchodziłem od komputera , spokojnie w ciszy przetwarzałem w głowie informacje , głęboki wdech i na spokojnie oglądam jeszcze raz , polecam pomaga
ciekawy jestem, ile osób się tego uczy podczas pandemii w 2020 :D ?
Dużo
ja sie tego ucze
oj dużo byczku
@@mikoajwojcik1140 ja z nudow nawet fizyke kwantowa zaczalem cout
@@nagraniaarchiwalnelspd4080 Ja teraz kombinuję na swój rozum jak zapamiętać odczyt xD
O ile Twoje wcześniejsze tutoriale były fajnie przyswajalne, o tyle, quiz w najnowszym tutorialu to już masakra, nie wiadomo co się dzieje :)
Prawda ciekawe kto z 2024
Dziękuję bardzo Panie Mirku! Dzięki tej lekcji udało mi się zrobić program bankowy, w którym można utworzyć konto oczywiście oraz przechować jego dane na komputerze, a potem zalogować się na nie i mieć do niego dostęp! Jeszcze raz dziękuję :)
tyle lat a nadal może pomóc początkującym takim jak ja!!! Super
Chwała Panu Panie Mirku. Świetny odcinek. Jako początkujący programista już na tym poziomie zrobiłem program który pobiera zadanie z pliku z listą zadań i automatycznie rozdziela je pracownikom. Mala uwaga. W pierwszym przykładzie żeby dzialala funkcja atoi musiałem dodać bibliotekę .
Po jakimś czasie zrozumiałem tą kwestię. W razie jakiegokolwiek błędu najlepiej go analizować w głowie zamiast patrzeć na kod (w ten sposób nie skupiamy się na kodzie, tylko na głównym problemie). Zajęło mi to pół tygodnia i kosztowało trochę nerwów, trzeba być solidnym i pełnym wiary, to wszystko skończy się powodzeniem. Pozdrawiam
Notatka dla osób, które na tym odcinku napotkało ścianę! Też mnie zszokował początkowo, ale zrozumiałem go, jak przerobiłem poprzednie odcinki, jeszcze raz, zapoznałem się z funkcją switch ponownie i po tym obejrzałem ten odcinek jeszcze raz i już wiedziałem co się tutaj dzieje! Nie poddawajcie się, za drugim lub trzecim razem zrozumiecie ten odcinek :)
Twoje poradniki są extra! Jestem takim nowym młodym "uczniem" na programistę. Zapisuje notatki, ale nadal mam z tym problem :/. Dobrze było jak Pan podsumowywał wszystkie ważne informacje i komendy na końcu w pierwszym odcinku. A tak poza tym nadal będę się uczył, choć jeszcze jestem w Gim. Wyrazy szacunku :).
+Ghostek23 racja
jesteś teraz programistą?
@@Filip_nowayekŚcieżka mojej kariery inaczej się potoczyła :) Ale powiem, że zasmakowanie pierwszych chwil z tym poradnikiem nie poszło na marne. Przydało się w pewnych momentach życia.
bardzo dobry profesjonalny kurs robiący z ludzi, ludzi programistow a nie tylko programistow. Wszechsronna wiedza i rozwój :) Podstawy C++ już dawno znam, ale kurs przyda się do nauki fstream przy podejściu obiektowymdo plikow. Zawsze szczęście mam pracować na starych metodach (stdio.h) pozdrawiam
Zapomniał Pan o wyświetleniu autora i tematu.
Super kurs. Dziękuje za jego udostępnienie.
No właśnie, co zrobić, żeby się wyświetlał?
Kurcze ten filmik już trudniejszy ale tak czy tak się ciesze że istnieje taka osoba co potrafi te magie wytłumaczyć jestem teraz w 8 klasie podstawówki i za te wiedze z odcinków dostałem już pare szóstek więc wielkie dzięki człowieku jesteś niesamowity
Świetne poradniki! Aż chce się uczyć C++.
Jesteś najlepszy, jestem na kierunku programista i nauczanie mojego nauczyciela polega na kazaniu nam przepisać kod z ekranu, a potem bez wytłumaczenia kazać przepisać drugi itd. Nauczyłeś mnie w 20min więcej niż ten nauczyciel przez pół roku
Na prawdę dużo wiedzy z odcinka na odcinek musze chyba trochę odsapnąć i wszystko od nowa przeanalizować
Bardzo polecam ten kanal ,wysmienity i bardzo czytelny kurs.wszystko ladnie wyjasnione krok po kroku.Mam nadzieje ze bedzie jeszcze wiecej takich ciekawych filmikow.pozdr
Naprawdę super poradnik
Gratuluję pasji
Podziwiam Pana. Naprawdę bardzo fajny kurs. Jestem mile zaskoczony. Mam nadzieję, że się Pan nie zniechęci, Panie Mirosławie. Trzymam kciuki i czekam na kolejne ciekawe lekcje. Poproszę więcej algorytmiki :)
Chciałem Panu osobiście pogratulować i podziękować za kurs C++, zadzwoniłem na podany w niniejszym odcinku numer telefonu ;) Niestety nie udało się :) 123456.... Dlatego Gratulacje i podziękowania tutaj. Pozdrawiam.
w sumie jak obejrzałem 3 razy i zrobilem 5 programów opartych na tym to teraz to bardzo dobrze rozumiem nawet nie chce wiedziec co by bylo jak zamiast pana tłumaczyłby mi to mój nauczyciel
Szkoda, ze dopiero teraz natrafilem na Twoj kanał bo chetnie bym się podczepil pod ten pomysl:)
Świetna robota!
ja sie z nim zgadzam
ma Pan dar do przekazywania wiedzy.swietnie się tego słucha
do tego odcinka szło łatwo ale tu za szybko wszystko tłumaczone ;v muszę obejrzeć kilka razy
Też jestem na połowie i właściwie nie wiem co zrobić ¯\_(ツ)_/¯
@@sebastiankus5697 ja też, nwm czemu ale przy odczycie, ten nowo utworzony program odczytuje mi tylko numer. i po numerze wstawia 0 xD. co jest krw
a dobra, jestem ślepotą, co nie dał nr_linii ++;
Bardzo podoba mi się ten kanał, programowanie C++ zacząłem od stycznia tego roku z książką Symfonia C++ i ten kanał jest jak ta książka = świetny++
Fajne są też ciekawostki matematyczne. SUPER
Pozdrawiam Kacper :)
Dzień dobry, st. asp. Kowalski. Policja dydaktyczna, wydział nauk informatycznych. Czy wie Pan o ile przekroczył Pan w tym odcinku dozwolony stosunek wtf/min?
Dziękuję za wspaniały poradnik. Wszystko przejrzyście, zwięźle i profesjonalnie wytłumaczone. W podziękowaniu za ten film podarowałem kilka symbolicznych złotych na dalszy rozwój kanału. ~ Jonasz
Jeżeli ktoś ogląda to w przyszłości i pojawi się wam błąd :
żaden operator ">>" nie pasuje do tych argumentów operacji
to musicie dopisać #include =D
Dzieki ! Szukałem z 30 min przyczyny aż trafiłem tu xD Teraz trzeba użyć biblioteki :D
Dziękuje bardzo za ten kurs, dzięki Panu mogę rozwijać swoją zajawkę w informatyce
Po dwóch dniach nauki na trzeci dzień zrozumiałem :)
Zapisywanie i odczytywanie przećwiczyłem. Zajęło mi opanowanie tego (całkowicie rozumiem zależności i pisanie całych dwóch programów od 0) całe popołudnie :D
Lecimy dalej :)
Pozwolę sobie opisać jak dostosowałem programik "quiz" dla potrzeb nauki C++. Swoją przygodę z próbami programowania zacząłem może z miesiąc temu i nie ukrywam, że jest to bardzo wciągające. W trakcie nauki robiłem notatki do zeszytu, ale teraz wykorzystuję "quiz". Jeśli poznam jakąś nową funkcję, to do pliku "quiz.txt" dopisuję odpowiednio sformułowane pytanie i odpowiedzi, aby całość zawierała jak najwięcej informacji do opanowania przez umysł. Odpowiedzi są podobne do siebie, kluczowy jest detal, np.:
Aby skasowac 10 znakow zmiennej string napis poczawszy od 5 indeksu, uzywamy funkcji dostepnej w bibliotece string:
napis.erase (10,5);
napis.delete (10,5);
napis.erase (5,10);
napis.delete (5,10);
c
I tak dopisuję każdą nowo poznaną rzecz. Sam program odpowiednio rozbudowałem. Przede wszystkim dodałem funkcję, która w pierwszym kroku liczy linie w pliku tekstowym, tym samym ustala ile jest pytań. Dodałem moduł losujący bez powtórzeń. Po uruchomieniu programu na ekranie pojawia się "Ile pytan wylosowac (maksymalnie np. 32)", podaję liczbę i moduł losujący zapisuje wylosowane liczby w tablicy. Po tym przygotowuje się plik do wydruku, gdzie w nagłówku będzie autor i tytuł testu, następnie wylosowane pytania wraz z odpowiedziami A-D, na końcu prawidłowe odpowiedzi. Jeśli w pliku quiz.txt będę miał np. 300 pytań, do mogę sobie wylosować np. 24 i tyle się zapisze w pliku wydruk.txt, który zabieram ze sobą by nad jeziorkiem przy kawie można było sobie co nieco utrwalić.
Oczywiście wydruk.txt tworzy się równolegle, bo docelowo rozwiązuję testy z wylosowaną ilością pytań na komputerze. Trochę przerobiłem, bo po udzieleniu odpowiedzi i otrzymaniu komunikatu dobrze/źle, po sekundzie pojawia się następne wylosowane pytanie na "czystym" ekranie. Numery wylosowanych pytań z błędnymi odpowiedziami zapisują się w kolejnej tablicy, na koniec program odpyta je jeszcze raz. Na końcu pojawia się punktacja np. Zdobyles 15 z 30 mozliwych pkt. (50%).
Zastanawiałem się jak w prosty sposób zrealizować wyświetlanie pytań wylosowanych i zapisanych w innej tablicy, aż się prosiło, żeby spróbować czy da się zawrzeć nawiasy kwadratowe w nawiasach kwadratowych, wywołać szufladkę w szufladce ;) Okazało się, że się da... Przykładowy fragment kodu w pętli for:
cout
w Listopadzie przestałem rozumieć o co chodzi - wracałem wielokrotnie do tego odcinka, zacząłem html, niestety Java zmusiła mnie do powrotu - teraz wszystko rozumiem! Dziękuje :)
no za szybko lecisz w tym odcinku, panie...
studia to ja już mam za sobą...
jak masz taki trybik to zmieniasz prędkość filmu 0,5 i git :)
@@isarmen15 ale to nie sa studia dzbanie i tu nie trzeba gonic zeby cos dobrze wytlumaczyc
@@KrisxMoon Dzbanem jesteś ty.
Świetny odcinek, fajne przykłady, tylko rzeczywiście pojawiają się niełatwe rzeczy, ale wszystko da się zrozumieć ;) Chcąc ogarnąć to "na szybko" stracimy czas, a ze spokojem, po woli wszystko przetrawić, przećwiczyć i już wchodzi. Pozdrawiam!
for(int i=0;i
miałem ten sam błąd ;)
tak jest zawsze...
Podobnie
😂
Jeżeli piszesz w CodeBlocks to powinno na czerwono pokazać miejsce błędu z lewej strony linii i w tym okienku poniżej, Logs & others.
Ten błąd jest opisany jako: "error: expected ' ; ' before ' ) ' token
...i absolutnie się nie wymądrzam! Wiem to stąd, że przed każdym "F9" mam tam czerwono, aż boli!
Świetny kurs, przyśpieszył znacznie moje tempo nauki. Dziękuję serdecznie.
Jeśli ktoś ogląda w 2020 i nie działa mu przez getline to dopiszcie sobie na samym początku programu #include
Fakt, zrobiły się schody. Robię lekcje z tego kursu regularnie i prowadzę notatki. Jednak co kilka lekcji zmuszam się żeby robić jakikolwiek program opierający się na dotychczas zdobytej wiedzy a zwłaszcza na ostatnich lekcjach. Robię program tak długo aż nie zadziałają funkcje które sobie obmyśliłem. Polecam. Takie stawianie sobie samemu wyzwań i ciągłe wertowanie kursu utrwala wiedzę.
Cholera. Zrobiło się trudniej.
XD
sądząc po Twoim avatarze to nawet bardzo trudno :D
Xobox, wiesz, że ten argument nie ma sensu?
VexLex, wiesz, że ten argument nie ma sensu?
Mariuho, wiesz,że twój argument ma sens?
Wspaniały kurs. Wiele razy oglądałem i powtarzałem robienie w kółko tego samego programu. Wykończył mnie dość mocno intelektualnie ten quiz. Czas popracować jeszcze nad nim, oswoić się i mknąć dalej. Cieszę się, że zauważam u siebie stopniową poprawę i swobodę myślenia i rozwiązywania problemów. Nie jest to jeszcze super wysoki poziom, ale mam z tego frajdę. :) Dziękuję, i życzę sobie i Panu cierpliwości oraz wytrwałości w pracy. :) Powodzenia!
Do tej pory było łatwo i przyjemnie, teraz zaczęły się schody :( Pytanie, dlaczego w switchu (10:55) nie mogę podać po prostu tylko imie, nazwisko i nr_tel, muszę pisać imie=linia. Dlaczego nie mogę zamienić kolejności linia=imie itd. Zgubiłem się w tym miejscu.
Pytanie sprzed 3 lat, ale jakby ktoś teraz o tym myślał, to te zmienne są na razie puste i trzeba im przypisać wartość z linii, czyli napisać np. imie=linia. Dokładnie w tej kolejności bo nie przypisujesz linii wartości zmiennej imie (która jest pusta), tylko zmiennej imie przypisujesz wartość z linii.
Odpowiedź sprzed 9 miesięcy, ale ja o "imie=linia" myślę "zmienna imie staje się zmienną linia" ;)
@@tooomasz wyrażenie z operatorem przypisania czytamy wyjątkowo od prawej do lewej
to jest wykonujemy obliczenia po prawej stronie i rezultat przypisujemy do lewej strony.
Za pierwszym razem jak zobaczyłem ten cały kod, byłem blisko palpitacji serca. Jednak, po 2 obejrzeniu video, nie taki diabeł straszny jak go malują. Pozdrawiam serdecznie!!! :))))
Mózg mi spuchł po tym odc.
dzięki Panu zdam maturę z informatyki, gdyby nie Pan nigdy bym tego nie zrobił, dziękuję 😀
Można jeszcze przed for() wrzucić
cout
Yeah
Nasze nastawienie przy nauce tego jest bardzo ważne. Jeśli będziemy próbowali rozumieć co autor mówi bez wizji i rozumienia dokąd zmierzamy, zanim tego co robi, powoduje nasze zniechęcenie. Najpierw trzeba wiedzieć co w ogóle robimy w sensie widzieć jakby już rezultat ostateczny np w tym przypadku widzimy plik i program który przenosi dane do pliku, lub z pliku. A później po prostu zapamiętujemy (może na początku zapisujemy) kroki które do tego prowadzą, na początku przez naśladowanie krok po kroku autora kursu. Najpierw wizja celu, później naśladowanie a później przyjdzie zrozumienie.
Nie mogę się skupić nad tym odcinkiem i od odczytu z pliku tekstowego zaczęło się robić tego wszystkiego na dużo. Czy osoba ucząca programowania powinna uczyć się wszystkich składni na pamięć? Czy wystarczy rozumieć?
Nic trudnego trzeba sobie wszystko spokojnie analizować bo tempo jest szybsze niż w poprzednich lekcjach.
Świetny film
Ten odcinek zrobił sieczke z mozgu. Taki krótki odcinek i...3h pozniej :D Dobrze ze ktoś w komentarzach zawarł istotne informacje na zrozumienie tego.
12:03
„Fajne prawda ? I wcale nie takie trudne!”
:D
Swoją przygodę z programowaniem wlasnie zacząłem z panem - panie Zalent :) i dla mnie ten etap juz mnie przerasta :p ale lecimy dalej :D
Pozdrawiam ! :)
hahahaha ta to jest dobre
kto z 2024
Człowieku dzięki, że stworzyłeś ten kurs !
Witam! Próbowałem wykonać quiz, lecz mimo istnienia pliku tekstowego będącego w folderze projektu, program nie czyta z niego danych! Pomocy
też mam taki problem że program nie odczytuje pliku
KURNANNAN też to mam
Pewnie nazwaliscie plik "quiz.txt" zamiast "quiz" i system dodal sam od siebie rozszezenie txt i teraz sa dwa ("quiz.txt.txt"), czyli nie zgadza sie nazwa i program go nie widzi.
Czesc troche odkopie ale moze komus sie przyda u mnie byl srednik po while(getline(plik,linia)); przez co nie ladowalala sie tresc pytan z pliku :D pozdrawiam :)
ja mam to samo, mozesz pomoc. Po tym czasie pewnie juz znasz odpowiedz :D
zajefajny poradnik, miałem problemy przy pisaniu takiego quizu, ale wszystko zrobiłem tak jak na filmie i działa :)
Szkoda że przez te ikonki nie widać ostatnich notatek :(
Bardzo dobry odcinek, dziękuje i oby tak dalej!
Kurcze troche pozno, ale co zrobic gdy plik nie idzie do folderu z projektem??
Mam ten sam problem tylko mój plik w ogóle się nie zapisuje na dysku ://
@@szymondomanski4940 może antywirus blokuje?
Panie Mirosławie świetny materiał :) Zapomniał Pan wyświetlić tematu quizu i swojego nicku, który odczytuje Pan wcześniej z pliku tekstowego. Pozdrawiam oby więcej takich materiałów.
Przyspieszanie filmiku wcale nie pomaga oglądającym (i ćwiczącym), bo praktycznie co kilkanaście sekund musimy pauzować, by zdążyć przepisać to, co się pojawiło. Na pierwszych filmikach nauka szła szybciej, bo filmik miał normalną prędkość i nie trzeba było pauzować. Też czasami trudno jest trafić w moment, aby zastopować, bo po pojawieniu się tekstu, od razu pojawia się inna część kodu.
Inna rzecz: co dokładnie oznacza ta linijka?:
transform(odpowiedz.begin(),odpowiedz.end(),odpowiedz.begin(), ::tolower);
Cytuję: "Zmień, czyli transformuj stringa. Tu podajemy początek naszego napisu w odpowiedzi, tu koniec i jeszcze raz początek (...)"
Dobrze, ale dlaczego tak? Skąd to się w ogóle wzięło? Po co bierzemy dwa początki? Nie można po prostu wziąć całej zawartości zmiennej odpowiedz? Jeśli ktoś korzysta z tego kursu, to znaczy, że nie specjalizuje się w tym języku, albo nawet w programowaniu (jak ja), więc każdą nową rzecz należałoby skrupulatnie wytłumaczyć, jak dziecku.
Proszę mnie nie zrozumieć źle - kurs bardzo pomaga mi w przygotowaniach do II semestru na matematycznym wydziale (gdzie będziemy mieli programowanie i C++) i jestem za to wdzięczna, jednak chciałam podzielić się uwagami. (...A może to w ramach odreagowania, bo CodeBlocks mi się zawiesił i straciłam cały kod. :))
Ja tam najpierw oglądam większość tutoriali i robię identycznie jak jest na nich pokazane a potem sam sobie wyznaczam zadanie i łącze tą cała wiedzę z tego co obejrzałem w jedno i np w taki sposób powstał bankomat nie na samych ifach tylko z funkcją for, switchem itd. Polecam taką metodę.
Kod działa ale nie wyświetlają mi się dane, tylko 0. Co z tym zrobić?
@Samik mi się zero wyświetlało jak do inta wczytywałem stringa
zerknijcie u siebie, czy przypadkiem tak się nie dzieje
na wszelki wypadek zróbcie wszystko string, numer telefonu też
jak już wyłapiecie gdzie jest błąd - to wtedy możecie zamienić na int.
Chociaż tak naprawdę int to nie najszczęśliwszy typ danych dla numery telefonu.
Dziękuję za świetnie wytłumaczoną lekcję! Ale nerwów zjadło mi to sporo, bo mój kod od razu zakańczał program. Przeglądałem go kilka razy, uruchamiałem nawet ten sam kod pobrany z Pańskiej strony (ten działał prawidłowo), no i za którymś razem zauważyłem że w jednej linijce wpisałem: if (nr_linii=8) {nr_linii=2; nr_pytania++;} zamiast if (nr_linii==8) {nr_linii=2; nr_pytania++;}.... Ale satysfakcja ze znalezienia błędu jest bezcenna :) Pozdrawiam!
Mam problem poniewaz u mnie plik nie chce sie stworzyc
Bardzo możliwe, że wina leży tutaj po stronie twojego antywirusa, który blokuje utworzenie tego pliku.
(przynajmniej w moim przypadku tak było)
@@freezy5003 Słuchaj właśnie uratowałeś mnie po godzinie szukania co jest nie tak. Taka głupota a tyle problemu
Spędziłem chyba 1.5 h żeby dowiedzieć się, że napisalem jedno = zamiast dwóch i program nawet nie chciał odpalić if(nr_lini = 8){nr_lini = 2; nr_pytania++;}.
Ogolnie to sledzilem moj kod z kodem Pana Mirosława i wtedy ogarnąłem. A już miałem kończyć swoją przygodę programisty XD
Odpaliłem Program Z Tym Programem Do Odczytu I... nagle Mi Wyskoczyło Że Mam Wirusa Nazwanego "Trojan-Spy"
niezły antywirus ;p dodaj do wyjątków
Bardzo fajnie przedstawione informacje. Czekam na więcej i pozdrawiam :)
Po 3 godzinach, ale ogarnąłem
:)
Swietne kursy ! Chociaz musze przyznać że momentami po zdaniach jak to w 16:27 min czuje parowanie w głowie i widze tylko ciemność ;)
I w quizie i programie przed quizem wyskakiwalo mi ze nie można znaleźć albo otworzyć tego pliku tekstowego, pomoże ktoś,kompletnie nie mam pomysłu co jest nie tak
dałeś radę?
Nie nazwałbym tego bugiem, ale program pobiera nazwę użytkownika i temat i ich nie wyświetla ;)
Proponuję przebudować case 1 i case 2 następująco:
case 1:
temat = linia;
cout
lepiej dodać wyświetlanie przed for, ale po zaczytaniu danych w pętli ze switchami.
W ten sposób oddziela się te 2 rzeczy, zgodnie z ich przeznaczeniem.
4:56 otwarliśmy? chyba otworzyliśmy :D spoko film, dzięki :D
Obydwie formy są poprawne. :)
Robiłam tak jak w filmiku. tylko jak przyszło do odczytu to pokazało że plik nie istnieje. PS. U mnie zapisuje w notatniku. A kanał filmiki super. ;))
Jest jakiś sposób, by od razu wczytać cały plik?
Dziękuję.
nie ma za co
: )
Świetne są te filmiki :)
5:52 mi wyskoczyło że zapis.exe próbuje usunąć lub zmienić plik wizytowka.txt (ochrona przed ransomware) xD
avast blokuje
troszeczke skomplikowany ten temat, ale w koncu mi sie udalo to umiescic w glowie. 😎🦾
*a mi zamiast tworzyc plik txt to tworzy txt.depend i wyswietla tylko nazwy bibliotek*
Miałem podobną sytuację. U mnie antywirus otwiera pisane aplikacje w izolacji i blokuje utworzenie nowego pliku.
Dla wszystkich mających problemy: Zróbcie dwa następneodcinki, wróćcie do tego i wszystko się rozjaśni. Jestem tego żywym dowodem ;).
Rozwiązanie dla tych co mają puste miejsca w odczycie! Ja mialem tak że po jakis kombinacjach wswietlalo mi w imieniu numer, nazwisko puste, i nr 0. Miałem program taki sam (przynajmniej tak mi sie wydaje). Zmięcie pętle na do ... while. Warunek koncowy dajemy w while i srednik po nim. I dajcie nr lini = 0; Pracuje ja Visual Studio Professional 2013
Po prostu Mistrz!
Mówicie że trudno jest a co ja mam powiedzieć jak już 30 na karku. Młode umysły lepiej chłoną wiedzę niż stary. Niestety bazowanie wyłączne na kursie pana Mirka nie wystarczy. Ja wspomagam się książką a także innymi publikacjami gdy czegoś do końca nie rozumiem. I co najważniejsze należy dużo ćwiczyć, popełniając błędy uczysz się. Ja miewałem chwile rezygnacji po wcześniejszych odcinkach. Teraz też. Ale myślę że , tak jak poprzednio, przerobię materiały kilka razy i przejdę dalej.
Polemizowałabym z tym chłonięciem wiedzy przez młode umysły, wszystko zależy od stopnia wytrenowania umysłu. Nie polecam też wielokrotnego pisania tych samych programów, lepiej wymyślić inne przykłady lub poszukać w necie/książkach.
Ja mam 46 lat i właśnie zacząłem ten kurs. Co ja mam powiedzieć?
Ja 49 - zacząłem wczoraj. Powiedz: O....jaaaa! ;-) Pozdrawiam :-)
+Norbert Be. Ja 12 wczoraj 😂😂😂
"Mówicie że trudno jest a co ja mam powiedzieć jak już 30 na karku."
Zachowujesz się jakbyś miał ponad 70 lat xD.
30 lat to też jeszcze stosunkowo młody umysł. Najwyższe wyniki w testach inteligencji wychodzą z tego co pamiętam w przedziale między 20-25 lat, więc nie jesteś tak daleko poza tym przedziałem. Nadal jesteś w wieku, kiedy Twoje zdolności poznawcze są na wysokim poziomie, a na pewno jednym z wyższych jaki będziesz miał xD.
Mala uwaga - przy zamykaniu programu z powodu błędu, powinno być raczej exit(1), a nie exit(0). Zero oznacza, że program wykonał się poprawnie.
Czegoś nie rozumiem. Switch(nr_linii) działa tak samo jak if(), prawda? Więc dlaczego program odczytuje np. przy case 6: (...) linijkę przykładowo 12? Przecież po wartości 8 powracamy do wartości 3, więc program powinien ponownie odczytać linijkę trzecią. Mógłby mi to Pan wytłumaczyć? :)
Ok, nie do końca zrozumiałem chyba funkcji getline(), ona zwraca True lub false ale również przechowuje numer linijki przy zapisanym stringu, prawda? Więc w drugim podejściu case 3 będzie odnosił się już do linijki 9. Czy dobrze to wywnioskowałem?
+Interferencyjny funkcja get line jest prostsza niż próbujesz kombinować, ona za każdym wywołaniem wczytuje kolejną linie..... i tyle. Dodatkowe zmienne są właśnie po to abyśmy mogli jakby nią sterować które linie do czego przypisujemy. Najlepiej napisz sobie programik z kilkoma zmiennymi i przypisz po kolei get line do nich i je wyświetl to zobaczysz na przykładzie.
Wiem że troszkę odgrzałam temat :)
Patrycja Jeziorska Dosyć, tym bardziej, że C++ raczej potrzebowałem tylko po to, aby dobrze zrozumieć jQuery, z którego teraz aktywnie korzystam. :)
Co nie znaczy, że pomoc się nie przydała, może jeszcze powiem "Kurna! A co to było z tym 'get line'? Zajrzę do komentarza Patrycji!", kto wie. :D
Pozdrawiam. :)
Roccat - Set The Rules Następny profesjonalny odgrzewacz. C++ już nie jest w centrum moich zainteresowań.
Roccat - Set The Rules Cieszę się.
3:40 czy plik to jest zmienna czy strumien? troche to namieszane, otwieram zmienna i otwieram plik na dysku..???? czy chodzi o to ,że otwieram strumien o nazwie plik który pokieruje dane do PLIKU o nazwie wizytówka który utworzy sie na dysku.
Można jeszcze quizy wysyłać?
w tym programie z eof jak deklaruje licznik jako 1 to pierwsza "szufladka" w tabeli będzie pusta, ja zadeklarowałem jako 0 i w końcowej pętli dałem i
Nie działa ;(
***** Dzięki ;)
Napotkałem problem ze zrozumieniem, gdy użył Pan c_str() bez wyjaśniania działania tej funkcji. Nie pamiętam, by to było używane wcześniej i byłoby miło gdyby Pan wspomniał coś na ten temat :)
Ten odcinek to jakaś masakra. Wszystko za szybko, w poprzednich wszystko ładnie było, a tutaj coś ewidentnie Pan nie miał dnia na tutorial.
Świetny materiał :)
Nic nie rozumiem : )
Chyba w 2024 zostałem sam w tym kursie :)
nie , ja też się nad nim głowię :)
ten kurs akurat slabo wytlumaczony
cześć, jestem tobą z przyszłości
Dzięki za odcineczek :)
6:46
Witam :)
Mam pytanie na temat pionowej kreski oddzielającej iOS::out | iOS::app
Kiedy i w jakich okolicznościach używać tej kreski pionowej i czy mogę użyć innego znaku ?
Dziękuje :)