Um noch an .Inuyashas Post anzuknüpfen, hier ein paar Tipps:
Code:
using namespace std;
Du brauchst nicht den gesamten Namespace. Hol dir lieber die Member die du wirklich brauchst oder schreib halt das std:: jedes mal davor. Z.B.:
Code:
using std::cout //Dann kannst du im weiteren Code einfach cout << "Something"; schreiben
std::cout << "Something"; // statt den using Directives. Musst du aber jedes mal schreiben.
Globale Variabeln: GROOOOOOSSES, GROOOOOOOSSES no go! Macht deinen Code schwerer lesbar und kann zu schwer zu findenden Nebeneffekten führen. Verleg alle globalen Variabeln in eine Funktion / Klasse.
Benutz statt std::endl besser '\n'. Der Grund dafür ist, dass std::endl den Stream flusht, was unnötige Arbeit ist (zugegeben, in deinem Programm wird das kaum merkbare Konsequenzen haben aber wenn du mal ein Programm mit ein paar 1000 writes in einen ostream hast, dann wirst du's merken.
Code:
std::cout << "Text" << '\n' //Besser;
Oder
std::cout << "Text\n"; //Besser
Wie .Inuyasha erwähnt hat, bitte nicht benutzen.
Benutz doch std::string. Das gibt dir mehr Möglichkeiten und Sicherheit.
Z.B.:
Code:
std::string input;
std::getline(std::cin, input);
Code:
if ( condition ) code...;
Benutz doch geschwungene Klammern um den Codeblock. In deinem Code z.B. bei
Code:
else if(Anfang == 0) //Termine und Aufgabe auslesen, speichern und ausgeben
f.open("Termine.txt", ios_base::in);
getline(f, Termin1);
getline(f, Aufgabe1);
Nur die erste Zeile nach dem if ist tatsächlich an die Bedingung geknüpft (in diesem Fall f.open(...)). Alles andere wird unabhängig davon immer durchlaufen.
???
Variabel-Deklaration:
Es ist guter Stil, Variabeln da du Deklarieren wo sie auch gebraucht werden (Blockdeklaration am Anfang einer Funktion ist 90er-Jahre Stil. Wenn möglich, initialisier sie auch gleich.