C++ exe Datei Problem?

2 Antworten

Versuche das cin.ignore mal durch

cin.ignore(numeric_limits::max(), '\n')

Zu ersetzen, möglicherweise steht nach dem ignore ohne Parameter noch ein Whitespace im Eingabepuffer.

nadyn0185 
Fragesteller
 29.04.2023, 14:55

Habe ich gerade mal probiert aber funktioniert leider auch nicht.

0

schreibe am ende des Programms vor dem return

system('pause');

das sorgt dafür das das Programm dort anhält und die Konsole offen bleibt.

Woher ich das weiß:eigene Erfahrung
nadyn0185 
Fragesteller
 29.04.2023, 14:55

system('pause');

Das ist nur einer von vielen Code Lines die ich schon probiert habe aber sich das Fenster immer noch direkt nach der Eingabe schließt.

0
Suiram1  29.04.2023, 15:04
@nadyn0185

Ich habe den Code von der Frage mal selber ausgeführt (ohne Änderungen) und alles funktioniert. Die Konsole bleibt sowohl wenn man etwas anderes als "Hello" als auch wenn man "Hello" eingibt offen bis man was drückt. Vielleicht ist der Fehler nicht im Code selber sondern in der IDE ist etwas falsch eingestellt.

0
nadyn0185 
Fragesteller
 29.04.2023, 15:10
@Suiram1
Vielleicht ist der Fehler nicht im Code selber sondern in der IDE ist etwas falsch eingestellt.

Nein, dass habe ich auch schon gecheckt.

0
nadyn0185 
Fragesteller
 29.04.2023, 16:10
@Suiram1

Oder mal andersrum gefragt, in welchen Fällen oder warum schließt sich denn das Fenster trotz solcher Code Lines im Code?

0
Suiram1  29.04.2023, 16:14
@nadyn0185

Wenn du mit 'solcher Code Lines' sowas meinst wie cin.ignore();, cin.get(); oder system('pause'); wäre die einzige Möglichkeit die mir dazu einfällt das die Zeilen nicht kompiliert wurden (Auswelchem Grund auch immer). Aber probiermal in der IDE die du nutzt eine Leere Konsolen App zu erstellen und den Code dort mal auszuführen

0
nadyn0185 
Fragesteller
 29.04.2023, 16:18
@Suiram1

Ist es dabei eigentlich egal, wo ich cin.ignore();, cin.get(); oder system('pause'); im Code einbaue, also eher ganz oben oder eher ganz unten?

0
Suiram1  29.04.2023, 16:19
@nadyn0185

code in einer Funktion oder Methode wird immer von oben nach unten ausgeführt. Dort wo diese code Zeilen platzierst hält das Programm an und wartet auf eine Eingabe. Also eher unten, aber nicht unter return; denn dort wird die Funktion / Methode abgebrochen.

0
Suiram1  29.04.2023, 16:20
@Suiram1

Welche IDE nutzt du eigentlich? Es kann auch sein dass, das etwas IDE speziefisches ist.

0
nadyn0185 
Fragesteller
 29.04.2023, 16:22
@Suiram1
Also eher unten, aber nicht unter return; denn dort wird die Funktion / Methode abgebrochen.

Ja, das weiß ich.

Welche IDE nutzt du eigentlich?

Visual Studio Code.

0
Suiram1  29.04.2023, 16:27
@nadyn0185

In VS Code muss man ja alles Manuel mit dem Kompiler machen, daher ist es auch etwas Fehler anfälliger. Probiermal Visual Studio aus dort kann man den Code den man geschrieben hat auf Knopf druck Kompilieren und Starten lassen und hat Projekt vorlagen und viele weitere tools.

0
nadyn0185 
Fragesteller
 29.04.2023, 17:12
@Suiram1

Also ist Visual Studio auch für Anfänger wie mich besser oder wie?

0
Kelec  29.04.2023, 17:56
@Suiram1

Wirklich viel falsch machen kann man bei VS Code am Ende aber auch nicht.

Im wesentlichen ist die Konfiguration copy paste von der Support Seite.

0