Waarom sluit een programma dat ik heb gemaakt meteen weer af?

Status
Niet open voor verdere reacties.

lionlake

Gebruiker
Lid geworden
17 okt 2008
Berichten
100
Beste helpmij leden,
Ik ben recent begonnen met een C++ cursus en heb al wat simpele programmaatjes in elkaar geflanst. Maar als ik de programma's opstart sluiten ze bijna meteen weer. Als ik bijvoorbeeld het eerste opdrachtje open dat "hello world" laat zien opent hij minder dan een seconde en sluit hij meteen weer. Ik kan nog net "hello world" zien staan in dat zwarte venstertje. Is er een manier waarop die vensters niet automatisch sluiten?
 
wanneer een programma klaar met met het uitvoeren van code, zal deze afsluiten.
Om het makkelijk te laten pauzeren kan je cin gebruiken (input van de gebruiker)

int x;
cin >> x;
 
Ik zou zeker geen "int" gebruiken, dat geeft bij bijna alle invoer een exception :)

Je kunt ook het prgramma aanroepen vanuit een dosbox ipv direct in windows, dan gaat het ook goed.
 
ah eigenlijk nooit echt getest, gebruik het puur alleen met kleine test programmaatjes om het tijdelijk even te laten stoppen :P
 
waarom vanuit een dosbox? een command prompt(cmd) is prima.
 
cmd / dosbox beide hetzelfde ;) CMD.exe is het programma dat een scherm opent, maar een scherm met een prompt wordt vaak algemeen aangeduid als een dosbox hier.
 
Dosbox is software dat DOS emuleert, dat is helemaal niet hetzelfde als cmd.
 
Voor een programma met uitvoer in DOS kan je het volgende proberen.

of system(PAUSE);
of _getch(); //met underscore
of getch(); //zonder underscore

Vergeet niet bovenaan je programma
#include <cstdlib>
te vermelden.

Over het gebruik van getch() valt nog wel wat op te merken zoals ook blijkt als je er op googled.
Het wordt soms niet ondersteund door de gebruikte compiler.
Soms werkt het alleen als je <conio.h> include, wat een nogal exotise headerfile is die niet altijd ondersteund wordt.
Als iemand hier de huidige stand van zaken over weet, verneem ik dit ook graag.
 
Heb ik ook gezien.
De schrijver vind het een te dure operatie.
Ik vind dat wel meevallen en er zijn ook instructieboeken, bij voorbeeld "Programming with
wxDev-C++" die het continu gebruiken in voorbeeld programma's.
Persoonlijk gebruik ik graag PAUSE of getch() omdat ik het mooier vind als een console sluit zonder een extra <enter> na het indrukken van een toets.
 
Daarom gebruik ik liever getch(); i.p.v. system("pause");
Het is ook zo dat dat laatste alleen op een windowssysteem gebruikt kan worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan