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

1

22.03.2008, 14:34

Programm beendet sich nach einer Sekunde

Hallo liebe Community, ich habe heute das Programmieren angefangen und benutze dafür das Buch "C++ für Spieleprogrammierer".
Ein sehr gutes Buch, vorallem leicht verständlich für Laien wie mich.

Mein erstes Programm funktioniert aber noch nicht richtig.
Aufgabe des Programmes wäre es, ein einfaches "Hallo Welt" in der Konsole auszugebene.
Nach dem Kompliieren öffnet sich die Konsole für einen Bruchteil einer Sekunde, schließt sich dann aber wieder.

Mein Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;

int main()
{
    

    cout << "Hallo Welt!" << endl;

    return 0;
}


Ich benutze das Programm Visual Studio 6.0, welches mir 0 Fehler anzeigte.

Für Hilfe wäre ich wirklich dankbar.

Liebe Grüße,
Marcus

2

22.03.2008, 14:51

Ich weiß zwar nicht wie das bei VC++ 6.0 aussieht, aber wenn du verhindern willst, dass sich das Programm so schnell beendet musst du bei VC++ 2005 ohne Debuggen starten (Menüleiste: Debuggen-> Starten ohne Debuggen)

Firefly

Alter Hase

Beiträge: 484

Wohnort: Irgendwoundnirgendwo

  • Private Nachricht senden

3

22.03.2008, 15:01

das programm das da steht selbst hat keine fehler. Das Problem ist warum es sich nach einer 1s beendet ist dass dein Computer dein Programm einfach abarbeitet und dann automatisch beendet.
Um das zu verhindern gibt es verschiedene Möglichkeiten:

1. Man baut eine Nachrichten/Endlosschleife ein
=>Beispiel Endlosschleife

C-/C++-Quelltext

1
while(true);

2. Man wartet bis der Benutzer eine Eingabe gemacht hat
=>Beispiel mit std::cin

C-/C++-Quelltext

1
std::cin<<VariableXY;

=>oder

C-/C++-Quelltext

1
std::cin.get()

3. Man benutzt System makros
=>system("Pause"); o. ä.
4. Man benutzt die conio
=> Beispiel getch();

Viktor

Alter Hase

Beiträge: 533

Wohnort: Ludwigshafen

Beruf: Student

  • Private Nachricht senden

4

22.03.2008, 15:02

Oder füg doch einfach ein system("pause"); hinzu:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
#include <iostream> 
using namespace std; 

int main() 
{ 
    cout << "Hallo Welt!" << endl; 
    system("pause"); // warte auf eingabe des benutzers (egal was)

    return 0; 
}


edit: mist, nur etwas zu spät...

5

22.03.2008, 15:07

Super, vielen Dank für die schnellen Antworten :)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

22.03.2008, 16:14

@Firefly: Wie kommt man auf die doofe Idee mit der Endlosschleife? :shock:
@D13_Dreinig

7

22.03.2008, 16:16

oder lass den ganzen schnickschnack weg und drück zum kompilieren STRG+F5.
Dann wirds ohne Debugger gestartet...

8

22.03.2008, 16:54

Ich würde mich von Visual Studio verabschieden. Deine Version ist wirklich schon extrem alt, und hat so manche Fehler.

Ich habe Codeblocks, das ist schön klein und schlank und läuft zudem noch unter Linux/Mac.
www.CodeBlocks.org
Allerdings gäbe es auch von den neueren VisualStudioversionen eingeschränkte Versionen für gratis.

Egal was du machst, fast alles dürfte besser sein, als VC6.
Lieber dumm fragen, als dumm bleiben!

9

22.03.2008, 18:01

Ich benutze Visual C++ Studio 2008 Express Download und bin sehr zufrieden.
VC6 hab ich schon nach einem Tag abgeschworen, nachdem ich mit C++ angefangen hatte^^

10

22.03.2008, 20:29

@Firefly
Deine 2. Methode is glaub ich falsch.
Das müsste so sein:

C-/C++-Quelltext

1
std::cin>>VariableXY;


Ansonsten könntem an auch einfach
Start->Ausführen->cmd
starten und dort das Programm öffnen.

Werbeanzeige