Ich schätze mal du benutzt den normalen Visual Studio Compiler. In dem Falle würde ich einfach, simpel und systemspezifisch die system(cmd) Funktion benutzen und den Parameter mit einem pause-Befehl besetzen.
Dafür includen wir den Headerfile cstdlib (stdlib.h wird glaub ich auch funktionieren)
nehmen wir mal ein altes Beispiel von mir, welches ein switch case beinhaltet, was in deinem Falle sicherlich besser aussehen würde , anstatt die Verzweigungen zu benutzen.
Code:
#include <iostream>
#include <cstdlib>
#include <locale> // Deutsche Zeichenkodierung
int main() {
unsigned short wetter{ 0 };
std::locale::global(std::locale("GERMAN")); // locale
std::cout << "Wie ist das Wetter heute?" << std::endl
<< " - 1 - gut" << std::endl
<< " - 2 - so la la" << std::endl
<< " - 3 - miserabel" << std::endl << ">";
std::cin >> wetter;
switch (wetter) {
case 1:
std::cout << "Einen schönen Tag noch!" << std::endl;
break;
case 2:
std::cout << "Falls Sie möchten, kann ich ihnen ein Taxi rufen." << std::endl;
break;
case 3:
std::cout << "Ein Regenschirm wäre sicherlich nicht schlecht" << std::endl;
break;
default:
std::cout << "Dies ist keine passende Eingabe" << std::endl;
}
system("PAUSE");
return 0;
}
Ignorier einfach das meiste, das wichtige hierbei ist nur, dass du am Ende system("pause"); einfügst. Das verursacht, dass vor dem Beenden der funktion der Befehl zu der Konsole gesendet wird und das Programm pausiert wird.
Wie man sieht muss man nun zum Weiterführen des Programmes eine Taste drücken
//EDIT: Nochmal zum mitschreiben: Die Methode wird nur empfohlen für private Zwecke. Öffentlich hat so eine Methode meistens Probleme, da sie Systemabhängig ist. Nicht
jedes Betriebssystem hat den Kommandobefehl pause