myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   C++ Konsole schließt sich sofort (https://mygully.com/showthread.php?t=2191427)

onur1991 25.12.10 21:54

C++ Konsole schließt sich sofort
 
Ich hab heute angefangen C++ zu lernen und ich hab auch schon gleich mein erstes Problem bei Hello World :D

Laut dem Buch sollte sich die Konsole nicht sofort schließen, es sollte noch: Drücken Sie eine beliebige Taste... stehen.

Bei mir schließt sich die Console allerdings sehr schnell, so das ich nichtmal die Hello World anzeige lesen kann.

Hier ist der Code:

#include <iostream>

using namespace std;

int main()
{
cout << "Hello World" << endl;
}

ThePinsel 26.12.10 00:42

Das liegt daran, dass dir das Kommando fehlt, das dem Programm sagt, dass es auf einen Tastendruck warten soll.
Je nachdem ist es getch() oder getchar() oder System ("pause");

Madhatter3333 26.12.10 10:05

Nein das stimmt so nicht @ThePinsel. Das Programm kann sich zwar beenden, allerdings sollte, wie der Threadersteller schon richtig sagte, am Ende NACH der Programmausführung noch ein "Taste drücken zum beenden" kommen.

An den TE: fehlt da vll. noch ein Return 0; nach der cout-Zeile? Daran kann es aber eigentlich nicht liegen *gg*....ich bin in ein paar Stunden zuhause, dann kann ich dein Programm mal kompilieren und testen!

Grüße MH

Eule66 26.12.10 12:03

Hi,

also bei mir tritt kein Fehler auf.
Wie startest du denn dein kleines Programm?
Beim einfachen "Doppelklick" verschwindet es so natürlich.
Unter einen "DOS-Eingabeaufforderungs-Fenster" siehst du die Ausgabe in einer Zeile.

(Dein Beispiel-File sei in C:\ und heisse helloworld.exe)

Ausführen: cmd
-------------------
C:\helloworld.exe
Hello World!

C:\
-------------------

Du kannst eine "cint- Abfrage" nach z.B. einer Zahl machen um das Fenster
mit der Eingabeaufforderung anzuhalten.

Code (mit Ergänzung):

#include <iostream>
using namespace std;
int main()
{
int n;
cout << "Hello World!" << endl;
cout << "Bitte Zahl eingeben:";
cin >> n;
return 0;
}

Eine Messagebox geht noch etwas anders.

Grüße Eule66

onur1991 26.12.10 13:09

Danke für die Hilfe,

wenn ich getchar() mache bleibt die Konsole solange offen bis ich eine Taste drücke. ---> hat geklappt.

@Madhatter: Wie du schon erwähnt hast liegt es nicht an dem return 0

Die Methode von Eule hat auch geklappt

germgerm 26.12.10 14:03

Wenn du mit Visual Studio arbeitest, starte dein Programm mit ctrl F5.

gosha16 27.12.10 07:27

Zitat:

Zitat von Madhatter3333 (Beitrag 21695722)
Nein das stimmt so nicht @ThePinsel. Das Programm kann sich zwar beenden, allerdings sollte, wie der Threadersteller schon richtig sagte, am Ende NACH der Programmausführung noch ein "Taste drücken zum beenden" kommen.

An den TE: fehlt da vll. noch ein Return 0; nach der cout-Zeile? Daran kann es aber eigentlich nicht liegen *gg*....ich bin in ein paar Stunden zuhause, dann kann ich dein Programm mal kompilieren und testen!

Grüße MH

Nein das stimmt so nicht @Madhatter3333 *scnr*

Wo sagst du dem Programm denn das er auf nen Tastendruck warten soll? Programm startet gibt nen Text aus und dann? Richtig - nichts, also beenden. Und falls du es nicht in cmd.exe ausführst schließt windows das Konsolenfenster nach dem Beenden des Programms.

Und scheiße return 0? was macht daas in main()? beenden und dem System den Fehlercode mitteilen, sozusagen zurückspringen :confused:
"Kompilieren und testen" Du verarschst uns doch, oder? :T


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.