Archief - raar voorval met c++, iemand die kan helpen?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Yuksel

Legacy Member
Hoi

Ik ben dus begonnen met visual c++ en heb direct al rare fout.

het gaat om deze code, een simpel geval om een gemiddelde tussen 2 getallen te berekenen. OS is windows XP pro.

#include <iostream.h>

int main ()
{float getal1;
cout << "tik het eerste getal in:" ;
cin>> getal1;

float getal2;
cout << "Tik het tweede getal in:" ;
cin>>getal2;

float gemiddelde;
gemiddelde = (getal1 + getal2) / 2;
cout << "Het getal is:" << gemiddelde << endl;
return 0;
}

Het rare is als ik in c++ "execute gemiddelde.exe" neem dan berekent hij het probleemloos.
Maar als ik er een exe van maakt sluit console na het ingeven van het 2de getal en op enter drukken.
Maat heeft het ook gecompiled naar exe en het lukte ook niet en vanin c++ wel.
Weet iemand de fout zitten?

veel dank
Yuksel

maT'

Legacy Member
zet achteraan je code nog een cin, dan verwacht het programma nog een input, en wacht het met afsluiten.
Als er nl. geen instructie meer wordt verwacht (na het weergeven van u gemiddelde) sluit het programma zich af.

Yuksel

Legacy Member
wree neig bedankt :applause:
code is dus nu

#include <iostream.h>

int main ()
{float getal1;
cout << "tik het eerste getal in:" ;
cin>> getal1;

float getal2;
cout << "Tik het tweede getal in:" ;
cin>>getal2;

float gemiddelde;
gemiddelde = (getal1 + getal2) / 2;
cout << "Het getal is:" << gemiddelde << endl;
cin ;
return 0;
}

Yuksel

Legacy Member
Hij doet het nog :help: met cin.get();

#include <iostream.h>

int main()
{float lengte;
cout<<"Geef de lengte in in m: ";
cin>>lengte;

float gewicht;
cout<<"Tik het gewicht in in kg: ";
cin>>gewicht;

float BMI;
BMI = ((lengte * lengte) * gewicht)/10;
cout<<"De BMI is:"<<BMI<<endl;
cin.get();
return 0;
}

Breezer

Legacy Member
just ff getest gehad, en ge moe da als volgend uitvoeren:

ge gaat nr start en dan uitvoeren en typt in:

cmd /k "G:\Program Files\Microsoft Visual Studio\MyProjects\test\Debug\test.exe"

(de plaats van die file zal wel verschillend zijn ma kdenk da ge weet wa ik bedoel)

de rede wrom hij da dosvensterke afsluit is omda xp beetje (heel veel) moeilijk doet bij dos

Yuksel

Legacy Member
Breezer zei:
just ff getest gehad, en ge moe da als volgend uitvoeren:

ge gaat nr start en dan uitvoeren en typt in:

cmd /k "G:\Program Files\Microsoft Visual Studio\MyProjects\test\Debug\test.exe"

(de plaats van die file zal wel verschillend zijn ma kdenk da ge weet wa ik bedoel)

de rede wrom hij da dosvensterke afsluit is omda xp beetje (heel veel) moeilijk doet bij dos
Ha merci, ik snap het al.
Das gelijk ge bevoorbeeld pingt vanuit venster "uitvoeren" dat em ook direct sluit zeker?
Zo simpele oplossing:)
danku :applause:

Breezer

Legacy Member
Yuksel zei:
Ha merci, ik snap het al.
Das gelijk ge bevoorbeeld pingt vanuit venster "uitvoeren" dat em ook direct sluit zeker?
Zo simpele oplossing:)
danku :applause:

yep, idd. En da lost ge op door telkens cmd /k ervoor te zette.

voorbeelden:

cmd /k ipconfig
cmd /k netstat -a
cmd /k ping xxx.xxx.xxx

etc.

graag gedaan

[IpL]Viper_666

Legacy Member
Wat ge over het hoofd hebt gezien is dat telkens wanneer
je een cin>> gebruikt je dus op de Enter toets drukt...
Het ding is dat die Enter in de input buffer blijft steken.

Je kan dan ofwel de buffer leegmaken,ofwel gewoon na
elke cin>> een cin.get() plaatsen die de Enter zal opvangen.
Als je dan op het einde van je main() een cin.get of een
cin.getline() zet dan zal hij wel degelijk stoppen op het
einde van de uitvoer can je code.

Yuksel

Legacy Member
Ok, heb hiermee toch weer wat bijgeleerd.
Allemaal Wreed bedankt :applause: .
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan