easMedlem sedan sep. 2001274 inlägg
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
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
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
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
dev-c++ är värdelöst.. får massa felmeddelanden fram när jag skriver
getch();
PhOrPhErMedlem sedan feb. 20002 059 inlägg
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
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
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
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
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
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
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
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
...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
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
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
Ä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
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
Hur kan man skicka argument till funktionen main då?
Man anropar den ju aldrig i koden.
BeatboxMedlem sedan okt. 20012 496 inlägg
Operativet kör ju funktionen main då programmet startas.
// BeatBox