Zitat von
DoS
Wie ich bereits geschrieben habe, wird bei erfolgreicher Ausführung von cin ein Wert ungleich 0 zurückgegeben. Mit "!" verneint er den Rückgabewert. Das heißt, wenn ein Fehler auftritt, ist die Rückgabe gleich 0. Durch die Verneinung "!" wird dies also zu 1 bzw. true. Somit wird "exit(1); " ausgeführt, welches das Programm beendet.
Zusammengefasst dient dies also dazu um bei fehlerhaften Verhalten das Programm zu beenden.
Das "cin.get();" am Ende sorgt dafür, dass sich das Programm nicht beendet, sondern man noch eine Taste drücken muss. Das weißt du vielleicht, aber wofür ist vorher dieses mysteriöse "cin.ignore();"?
Antwort: Dies löscht den Eingabe-Puffer. Somit kann "cin.get()" in "Ruhe seine Arbeit machen". ;)