#Kurs C++
Kod jest podzielony na 3 branche:
- master - zawiera oryginalny kod;
- refactor - zawiera lekko poprawiony kod, głównie poprawiłem styl;
- better code - zawiera kod taki jak powinien być napisany, w rezultacie jego działanie może nie pokrywać się w całości z lekcją, ale wciąż jest na poziomie podstawowym i po prostu działa lepiej (coming soon)
Repozytorium jest podzielone na foldery, w których znajdziecie kod + opis poszczególnych zmian.
Wszelkie uwagi, komentarze pull requesty mile widziane.
##Spis treści
- Pliki projektu, pierwszy program
- Instrukcja warunkowa if. Decyzje w programie
- Pętla: for, while, do..while. Pętle wyjaśnione
- Liczby losowe (pseudolosowe)
- Tablice, ciąg Fibonacciego
- Instrukcja switch case. Menu główne. Kontrola błędów wejścia
- Pliki tekstowe. Zapis i odczyt z pliku tekstowego
- Łańcuchy. Typ string. Tablice char. Tabela ASCII
- Własne funkcje. Podejście proceduralne
- Wskaźniki. Dynamiczne alokowanie pamięci
- Znajdowanie największej liczby
- Polski SPOJ. Zadanie próbne. Prędkość średnia
- Rekurencja (rekursja)
- Sortowanie. Złożoność algorytmów
- Polskie znaki w konsoli: Windows, Linux, MacOS
- Struktury danych: stos, kolejka, lista, drzewo binarne
- Funkcje matematyczne w C++
##Podsumowanie / uwagi globalne
- MZ stosował do wcięć czasami 2, 3 lub 4 spacje (Czasami wszystie style w jednym kodzie), ja starałem się poprawiać je tabami, więc możliwe że gdzieś wcięcia mogą źle wyglądać po mojej poprawce, później puszczę bota który to wszystko wyrówna (ewentualnie mile widziane pull requesty)
- największym "grzechem" Pana Mirosława jest niekonswekencja w pisanym kodzie, nieraz kod ma wcięcia dobrze zrobione, a czasami to jest jeden wielki chaos (szczególnie ostatnie lekcje)
- poza tym praktycznie wszędzie są zmienne globalne, chociaż zaledwie w 3 plikach źródłowych (na kilkadziesiąt) jestem w stanie uznać że mają sens
- styl kodu jest ogólnie brzydki, wyczuwa się dość często C-style, albo zaleciałości z JS (np. hoistowanie zmiennych), kod z ostatnich lekcji wygląda źle i jeżeli chodzi o styl to przypomina on styl osoby, która programuje dopiero od miesiąca