webForumDet fria alternativet

Dev c++

22 svar · 1 032 visningar · startad av eas

easMedlem sedan sep. 2001274 inlägg
#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

SPiNMedlem sedan mars 20005 832 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. --

easMedlem sedan sep. 2001274 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

spangoMedlem sedan juni 20006 147 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.

RDLMedlem sedan mars 2001203 inlägg
#5

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

getch();

PhOrPhErMedlem sedan feb. 20002 059 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 -

PeWMedlem sedan juni 20006 839 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]

PhOrPhErMedlem sedan feb. 20002 059 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 -

BrimbaMedlem sedan dec. 19992 966 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

PhOrPhErMedlem sedan feb. 20002 059 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 -

DamionMedlem sedan aug. 2000113 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

MinsannMedlem sedan feb. 2001146 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

PhOrPhErMedlem sedan feb. 20002 059 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 -

PeWMedlem sedan juni 20006 839 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!

easMedlem sedan sep. 2001274 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

jockebMedlem sedan feb. 2001113 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. ;)

easMedlem sedan sep. 2001274 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

PhorpherMedlem sedan feb. 20002 059 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.

easMedlem sedan sep. 2001274 inlägg
#19

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

BeatboxMedlem sedan okt. 20012 496 inlägg
#20

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

// BeatBox

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb