Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / School & Studie / Huiswerkvragen: Exacte vakken
Reageren
 
Topictools Zoek in deze topic
Oud 07-04-2008, 21:12
Anika
Ik probeer te leren programmeren in C en ik gebruik Dev C++ als compiler. Als ik een programma wil uitvoeren, sluit het automatisch weer heel snel, zonder dat je kunt zien wat er eigenlijk gebeurt. Hoe kan ik dit voorkomen?

Ik heb zelf al wat op internet gezocht, maar wat ik daar tegenkwam is voor C++ geloof ik. Alles wat ik heb geprobeerd werkte in ieder geval niet.
Met citaat reageren
Advertentie
Oud 07-04-2008, 22:05
dutch gamer
Avatar van dutch gamer
dutch gamer is offline
typ 1 of 2 keer een functie als getchar(); aan het eind van je programma.

Edit: overigens is er niet veel mis met je code hoor, dit is puur een workaround om te zorgen dat het venster niet sluit. Als je grotere stukken code schrijft kan het zelfs zo zijn dat je nog vaker getchar(); aan het eind moet zetten.
__________________
Life is like a box of chocolates. You never know what you're gonna get.
Met citaat reageren
Oud 08-04-2008, 07:58
Anika
getchar() had ik al een keer geprobeerd, maar dan maar één keer in m'n hele code. Ik zal het eens meerdere keren proberen, benieuwd of het dan wel werkt. Bedankt in ieder geval.
Met citaat reageren
Oud 08-04-2008, 09:40
Gunkan
Gunkan is offline
En als je echt niet kan zien waarom iets niet werkt, dan wordt het tijd om logging en debugging hooks toe te gaan voegen.

Wanneer ik iets schrijf dat ook maar'n beetje ingewikkeld wordt, dan bouw ik een debug mode in, die ik aan of uit kan zetten met een simpel, Boolean vlaggetje. Wanneer deze debug mode aan staat, dan worden er op strategische punten variabelen uitgelezen en de waardes gedumpt naar een logfile. Zo kan je gemakkelijk zien wat jou programma allemaal heeft uitgevreten.

Natuurlijk kan je het progje (omdat het een gecompileerde taal is) ook gewoon met een debugger runnen, zodat je het realtime kan volgen
Met citaat reageren
Oud 08-04-2008, 09:43
Anika
Nouja, het werkt wel, maar ik kan het alleen nauwelijks zien omdat het schermpje meteen sluit. Ik ben ook nog maar bij de hele eenvoudige programma's hoor.
Getchar geprobeerd op verschillende plaatsen maar daarmee blijft het ook niet open.
Met citaat reageren
Oud 08-04-2008, 11:35
Gunkan
Gunkan is offline
Dan dump je de output van het windowtje toch ook naar een logfile?

Of nog beter, waarom uberhaupt een window? Commandline FTW! /o/
Met citaat reageren
Oud 08-04-2008, 14:28
Anika
Mooi, met debuggen kan ik het inderdaad wel zien dankjewel! Je moet dan alleen niet zelf het schermpje proberen te sluiten merkte ik, dan loopt ie vast
Met citaat reageren
Oud 08-04-2008, 17:29
ILUsion
Avatar van ILUsion
ILUsion is offline
Ik heb zelf geen ervaring met C/C++ om in te programmeren, maar in TurboPascal deed ik het altijd met wat assembler helemaal op het einde van mijn programma (werkt op DOS, maar hopelijk ook in Windows dus). Hoe je assembler in C/C++ integreertm zou ik niet weten, maar vermoedelijk op deze manier:

Code:
asm
{
    mov 08H, AH
    int 21H
}
Wat dit zou moeten doen is 1 char uitlezen. (Als ik me niet vergis is het eerste gewoon het commandonummer op de juiste plaats zetten en het tweede is in DOS de interrupt 0x21 aanroepen). In tegenstelling tot getChar zou je daarmee maar een output moeten krijgen, lijkt me (dus zou je ook moeten voldoen met 1 maal deze code.
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 17:32.