webForumDet fria alternativet

Dev c++

C/C++

22 svar · 1 036 visningar · startad av eas

Medlem sedan sep. 2001269 inlägg
Frågan#1

Jag laddade ner DEV C++ idag!

Installationen gick fint men när jag testkörde upptäckte jag till min förskräckelse att mitt fina program stängde av sig när det hade körts klart!

Det gillar inte jag efter som jag förtfarande är på den nivån då man skriver lite kod, kompilerar och ser vad som händer.

Vad kan jag göra för att förhindra det, så att jag kan kolla på resultatet av koden jag kört?
:q :q :q :q :q :q :q :q :q :q :q :q :q :q :q

------------------
Schöndells webbsajt

Medlem sedan mars 20007 896 inlägg
#2

Testa med att lägga till:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
cin.get ();

I slutet av din funktion. ( Innan du avslutar den. )

------------------
SPiN, bjorne.w@telia.com

-- Wise men talk because they have something to say; fools, because they have to say something. --

Medlem sedan sep. 2001269 inlägg
#3

Det funkade inte!

Går det inte att göra nån inställning i programmet får att fixxa problemet?

------------------
Schöndells webbsajt

Medlem sedan juni 20008 205 inlägg
#4

Näpp. Det beror på att när programmet tar slut, så ser operativsystemet ingen anledning att ha kvar fönstret uppe. Om cin.get() (eller motsvarande) inte funkar, vilket det borde göra, så prova att köra programmet från DOS-prompten. Att det inte funkar kan tyda på ett fel som leder till exekveringsavbrott...

------------------
Before you criticize someone, walk a mile in his shoes. That way, if he gets angry, he'll be a mile away - and barefoot.

Medlem sedan mars 2001344 inlägg
#5

dev-c++ är värdelöst.. får massa felmeddelanden fram när jag skriver

getch();

Medlem sedan feb. 20002 300 inlägg
#6

Eller så kan det ju bero på att getch inte tillhör c-standarden utan är Borlands påhitt... :e

------------------
- Erik Hellström -
- Datalogiprogrammet - MDH -
- http://3d.burken.nu -

Medlem sedan juni 200010 432 inlägg
#7

PhOrPhEr>>
:e

eas >>
Men cin.get() ska iaf fungera... men om du petat in nån cin strax innan så KAN det hända att man får peta in cin.get() 2 ggr... om det ligger en vagnretur kvar i strömmen. Alternativt om det finns nåt debug-läge i dev-c++ som gör att man kan peta in breakpoints (stannar upp programmet) precis på sista raden innan return 0 i main. Fast det gäller ju medans du jobbar i IDEn..

------------------
Ancilla, face mea laganum!

[Redigerat av PeW den 18 jan 2002]

Medlem sedan feb. 20002 300 inlägg
#8

Eller så använder man funktionen fflush med stdin som inargument.

Dvs. fflush(stdin); för att tömma inströmmen.

Använder man C++ så har ostream en metod flush() som man kan använda också.
Typ cout << flush;

------------------
- Erik Hellström -
- Datalogiprogrammet - MDH -
- http://3d.burken.nu -

Medlem sedan dec. 19995 874 inlägg
#9

Jag har provat nu, men det vill inte fungera.

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
#include <iostream.h>

main()
{
cout << "test" << endl;
return 0;
cout << flush;
cin.get();
cin.get();
}

vad göra?

------------------
Mvh
Patrik aka Brimba

Medlem sedan feb. 20002 300 inlägg
#10

Ta bort "return 0;".

return används när du vill att en funktion ska "avslutas" och returnera ett värde. I det här fallet avslutas main och 0 returneras till operativsystemet.

------------------
- Erik Hellström -
- Datalogiprogrammet - MDH -
- http://3d.burken.nu -

Medlem sedan aug. 2000207 inlägg
#11

PhOrPhEr vi anävnder enbart Borland på vår skola, och i alla övningar avnänder man getch(); :o

------------------
Generation bråkstake, bråkstake*2

Medlem sedan feb. 20011 517 inlägg
#12

tittade i den här tråden häromdagen och la lite saker på minnet.
tog själv hem dev c++ och satte mig just för att pilla lite - då samma sak hände mig - som jag då lätt löste genom att titta in här och ta råden som givits;
cin.get(); två ggr. :)
toppen!

------------------
i'm going nowhere without my mössa!

Rinaldo> Minsanns intelekt försätter mig, Matti och Pace i en mörk skugga

Medlem sedan feb. 20002 300 inlägg
#13

Damion:

Det är givetvis inte fel att använda getch(). Jag brukar också använda det ibland.
Ville bara poängtera att det inte tillhör standarden så man kan inte förvänta sig att det ska fungera om man vill kompilera med en annan kompilator.

------------------
- Erik Hellström -
- Datalogiprogrammet - MDH -
- http://3d.burken.nu -

Medlem sedan juni 200010 432 inlägg
#14

...sen är det väl inte så svårt att köra sitt lilla program i prompten ist ;)

Tycker att PhOrPhEr hade ett bra tips med fflush(), annars :)

------------------
Ancilla, face mea laganum!

Medlem sedan sep. 2001269 inlägg
#15

Man kan använda getch() om man inkluderar en header-fil.

tror det är conio.h eller nåt sånt...

om jag bara skriver cin>>i; strax innan return 0; förskuter jag ju problemet så jag kan se utskriften av programmet.

------------------
Schöndells webbsajt

Medlem sedan feb. 2001124 inlägg
#16

Använder själv DEV C++ och var också med om detta problemet i början. Kollade dock i hjälpfilen där det stod hur man skulle göra. Inkludera stdlib.h och lägg till system("PAUSE"); på raden innan return 0; så ska det nog fungera. ;)

Medlem sedan sep. 2001269 inlägg
#17

Är det förresten nån som vet varför det finns parametrar i definitionen av main?

int main(int argc, char *argv[])

:q :q :q :q :q

Medlem sedan feb. 20002 300 inlägg
#18

Därför att du ska kunna ta in parametrar när du startar programmet?

argc - Integer som innehåller antalet argument

argv - Dubbelpekare till argumenten som skickas in. *argv[1] är första argumentet osv.

Medlem sedan sep. 2001269 inlägg
#19

Hur kan man skicka argument till funktionen main då?
Man anropar den ju aldrig i koden.

Medlem sedan okt. 20013 217 inlägg
#20

Operativet kör ju funktionen main då programmet startas.

// BeatBox

253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)