Kilka porad:
- nie używa się using namespace std; - powszechnie uchodzi to za złą praktykę, a jeżeli już, to namespace'ów używa się tylko w plikach .cpp, ty używasz zarówno w .h i .cpp (duplikujesz)
- podobnie z include'ami, includujesz <iostream> w pliku .h, a potem ponownie w .cpp - w efekcie masz zainclude'owaną podwójną zawartość biblioteki iostream, w dodatku potem jeszcze raz include'ujesz to w main, doczytaj o tym jak działa include i jak poprawnie to robić,
- zacznij przerzucać się na pisanie kodu po angielsku - tak już jest i tak będzie,
- po co chcesz tak uparcie zaciągać tekst z pliku .txt? Skoro używasz tego jako funkcji do wypisywania tekstu, to czemu tego tekstu nie wypiszesz cout'em?
- staraj się raczej zapisywać kod jako jedna instrukcja - jedna linia, zamiast:
cout << "Twoj wybor to: "; cin >> liczba_programu;
- jeżeli nie ma takiej konieczności, to zamiast endl możesz użyć '\n'. endl to w rzeczywistości właśnie '\n', ale w dodatku wywołuje os.flush()
- dobrze jest inicjalizować wszystkie zmienne, np. w klasie masz ich ponad 30 i żadna nie jest inicjalizowana. Inicjalizację możesz robić w konstruktorze.
- masz zmienną string nazwaną "null". Absolutnie tak nie rób, bo potem w kodzie nie wiadomo o co z tym chodzi, jak tutaj:
case 1: null = linia; break;