Also,
es gibt einen kleinen Unterschied zwischen einem '\n' (Line Feed) und einem std::endl.
Beide sorgen dafür, das ein "Neue Zeile" Zeichen in den Ausgabestrom geschrieben wird.
std::endl macht aber noch etwas mehr. Da viele Ausgabeströme gepuffert arbeiten -- sie benutzen einen Speicherbereich, um erst Daten zu sammeln -- kann es passieren, dass ein Zeichen nicht sofort auch auf dem Medium (Datei oder auch Bildschirm für std::cout) erscheint, sondern erst, wenn die Datei geschlossen wird oder der Puffer voll ist.
std::endl schreibt nun auch noch ein std::flush in den Ausgabestrom, so dass der bisher vorhandene Puffer auch sofort komplett "rausgeschrieben" wird.
getch und getchar sind Geschmackssache. Ich benutze die gar nicht, aber ich mache auch selten Konsolenanwendungen. In C++ würde ich dann aber sowieso std::cin nehen.
system ("PAUSE") solltest du komplett vermeiden. Wozu erst ein Shell-Kommando starten, wenn ich im Programm mit einer der oben genannten Methoden selbst auf die Eingabe eines Zeichen warten kann?
Mit system ("blubb") startet man ein weiteres Programm! Wo haben eigentlich immer alles dieses system her?
Gruss,
Rainer