1. Sam kod jest nawet oksy, ale jest kilka ale
2. Goto, to zlo, moze nie w tym programie, bo jest tylko jedno i widac dokad skaczesz, ale ale wyobraz sobie program/funkcje na 3k linii koeu i z 50 jumpami ;), po to sa petle i warunki, zeby to ominac
3. Modularyzacja, czyli male funkcje, z czego kazda powinna spelniac tylko jedno zadanie. Np, funkcja sumujaca itd.
4. Style code nie jest konsewentny, tzn, skoro robisz:
cout << " hrjebej ";
To zrob to samo wszedzie:
if (zmienna == wartosc) {
}
I tak dalej ;) nsjlepiej jest chyba poczytac o jakos juz znanych style code, typu chrome i sie to trzymac.
5. Przestrzen nazw, tu nie jest grozna, ale golnie odradza sie ich uzywa. Tzn zamiast
using namespace std;
cout
Robic
std::cout
6. Trzymaj sie angielskich nazw zmiennych, dzieki temu na forach obcojezycznych, rowniez uzyskasz szybka pomoc, w innym przypadku trzeba poswiecic wiecej czasu, zeby sie wczytac w kod
7. Odnosnie 7, zmienne powinny miec dusze, a nie tylko nazwe ;). Zmienna x, y, z nie mowia nic, za to zmienna sum lub numberOf... wyrazaja wiecej niz jeden znak
8. Unsigned int, moze byc lekko niebezpieczny, ale ale od sie to ogolnie do integer under/overflow, ktory jest UB i program sie pewnie sypnie, dlstego wsrto zabezpieczac w tych i innych miejscach program. Pieknych przykladem jest case numer 4. Gdzie wykonujesz multiplikacje liniowa, wiec dla duzego y, latwo przekroczyc wsrtosc inta.
9. iomanip, nie widze zadnej funkcji z tej libki, chociaz tez nie znam wszytskich. Moze byc tak, ze jest bez sensu podpieta