Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Flip

Frischling

  • »Flip« ist der Autor dieses Themas
  • Private Nachricht senden

1

20.05.2011, 22:45

Problem bei Ausführung des Programms

Hallo,

ich bin neu hier und wollte auch schonmal meine erste Frage stellen.
Wenn ich das erste Programm im Buch ausführe, wird es bei mir sofort wieder geschlossen. Wenn ich aber den Befehl system("PAUSE"); einbaue, bleibt das Programm geöffnet:


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// C++ für Spieleprogrammierer
// Listing 1.1
// Es wird ein Begrüßungstext ausgegeben
//
#include <iostream>

using namespace std;

// Hauptprogramm
//
int main ()
{
    cout << "Hier kommt die Konkurrenz!\n";

    system("PAUSE");
    return 0;
    
}


Ich habe Microsoft Visual C++ 2010 Express benutzt, kam aber auch mit Microsoft Visual C++ 2008 Express Edition nicht weiter.

Gruß,
Philipp

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

20.05.2011, 22:52

Wenn ich das erste Programm im Buch ausführe, wird es bei mir sofort wieder geschlossen.

Ist doch auch ok so, das Programm beendet ja auch sofort wieder ;)

idontknow

unregistriert

3

20.05.2011, 23:44

aber system("pause") erwartet doch ne eingabe (wie cin)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

21.05.2011, 00:26

Ich meinte natürlich das Programm ohne system("PAUSE") ;)

chrisslfissl

Treue Seele

Beiträge: 186

Wohnort: Bavaria

  • Private Nachricht senden

5

21.05.2011, 00:31

Führe dein Programm einfach mit Strg + F5 aus,
dann bleibt die Konsole auch offen.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

21.05.2011, 00:35

Dafür läufts dann aber ohne Debugger. Wie gesagt, sobald deine main() Funktion returned beendet dein Programm und mit ihm sein Konsolenfenster. Das ist absolut korrektes Verhalten.

chrisslfissl

Treue Seele

Beiträge: 186

Wohnort: Bavaria

  • Private Nachricht senden

7

21.05.2011, 00:41

Ja klar ises normal,
aber man soll das was man da ausgibt auch lesen können,
deswegen ist das die beste lösung. ^^
Habs auch so gemacht...

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

8

21.05.2011, 00:57

Die beste Lösung ist cin.get(); dann funktioniert auch noch der Debuger und man kann entscheiden wann das Programm pausiert.
Wir hatten vor kurzem einen ähnlichen Thread.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

idontknow

unregistriert

9

21.05.2011, 04:24

@dot: joar, die Frage des Threaderstellers komplett zu lesen ist halt doch nicht ganz so blöd..

am besten wäre es wohl den zusammenhang zu verstehen, dann macht es keinen unterschied ob system("pause"), cin.get oder auch nen scanf..

Flip

Frischling

  • »Flip« ist der Autor dieses Themas
  • Private Nachricht senden

10

21.05.2011, 13:20

Danke für eure Antworten.

Ich habe auch festgestellt, dass dieses Thema ja auch noch im Buch steht. Ich hätte nur noch eine Seite weiter lesen müssen :whistling:

Werbeanzeige