Avatar billede Slettet bruger
22. april 2004 - 15:08 Der er 17 kommentarer og
1 løsning

Hvordan kan jeg see hvad resultaterne er ?

Hej Experter,
jeg er lige gået i gang med selvstudie c++ og jeg har et lille problem.. det er... når jeg laver en cout eller en lille opgave... så når jeg ikke og see hvad Jeg compiler...
Jeg bruger Dev-C++ og jeg er nød til at sætte en pause på min scripts ellers kan jeg ik rigtig see hvad den skriver...
jeg prøver at give et example...

#include <isostream.h>

void main(void)
{
cout << " Hej Experter " ;
}


hvis jeg compiler dette ... så kommer der en dos screen som lukker ned extremt hurtig...

så jeg er nød til at at 
skrive
#include <iostream.h>
#include <stdlib.h>

void main(void)
{
cout << " Hej Experter " ;

      system("PAUSE");

}



Altså en System Pause... hvilket ser meget uproff ud... hvordan kan jeg trackle dette problem... er der andre command man kan bruge isted ? eller mangler jeg noget ?


Håber på at jeg har udybet mit spm.
Avatar billede arne_v Ekspert
22. april 2004 - 15:12 #1
Nej - det er måden.

Du kører en console applikation fra et windows program.

Husk at det jo kun er udvikling.

Det færdige program skal vel køres fra en permanent DOS box og så
kan du slette den PAUSE.

PS: main er void ikke int.
Avatar billede Slettet bruger
22. april 2004 - 15:19 #2
ok Tak Arne... så jeg er nødt til at lave en system pause.. ik ? :)
Avatar billede arne_v Ekspert
22. april 2004 - 15:21 #3
Mens du udvikler i dev-cpp.

Medmindre du vil bare bygge i dev-cpp og så have en permanent åben DOS box ved
siden af som du tester i.
Avatar billede Slettet bruger
22. april 2004 - 15:28 #4
hvordan kan jeg åben en permanent dos box hvor i jeg kan teste ...
Avatar billede arne_v Ekspert
22. april 2004 - 15:30 #5
start
programs
accessories
command prompt

eller hvor nu din windows version har gemt den
Avatar billede driis Nybegynder
22. april 2004 - 15:31 #6
arne_v, du mener vel:
PS: main er void ikke int. = main er int, ikke void
?
Avatar billede Slettet bruger
22. april 2004 - 15:33 #7
jamen hvordan kan jeg teste min scripts i en dos box ? Tro mig..jeg er total newbie.. normalt trykker jeg på compiler...der næst run.... så kommer dos viduet automatisk... men hvordan kan jeg åben via en normal dos box ? skal jeg skrive hele directory ?
Avatar billede arne_v Ekspert
22. april 2004 - 15:34 #8
Du går ned i det directory hvor dit projekt ligger og skriver navnet på programmet
(=navnet på EXE filen).
Avatar billede Slettet bruger
22. april 2004 - 15:35 #9
driis hvad er forskellen ? efter som jeg ved er int = værdi mellem -32.768 og 32.767
Avatar billede Slettet bruger
22. april 2004 - 15:35 #10
Fint.. mange mange tak for hjælpen...
Avatar billede arne_v Ekspert
22. april 2004 - 15:36 #11
driis>

Vildledende formuleret.

main er void ikke int [den skal være int]
Avatar billede arne_v Ekspert
22. april 2004 - 15:36 #12
Det skal være:

int main()
{
  ...
  return status;
}
Avatar billede Slettet bruger
22. april 2004 - 15:38 #13
har du mulighed for at fortælle hvilken forskel det vil give ? om jeg skriver int eller void ?
Avatar billede arne_v Ekspert
22. april 2004 - 15:41 #14
Hvis du f.eks. kører dit program fra en BAT fil kan du i BAT-filen
teste på programmets retur værdi (PC og Unix konvention isger 0 => OK >0 => fejl).

Med en void så vil der returneres en tilfældig værdi. Det kan være lidt uheldigt.

Altid returner en værdi. I mangel af bedre returner 0.

stdlib.h har faktisk to symboler EXIT_SUCCESS og EXIT_FAILURE man kan
bruge til det samme.
Avatar billede Slettet bruger
22. april 2004 - 15:42 #15
Cool... takker :) " Tror jeg har lært en del nyt idag " :)
Avatar billede bertelbrander Novice
22. april 2004 - 21:48 #16
Du kan lave en funktion der gør næsten det samme som system("pause"); i C++:

void HitEnterToContinue()
{
  std::cout << "Hit Enter to continue";
  std::cout.flush();
  char ch;
  std::cin.get(ch);
}

Når jeg bruger system("pause"); på min cygwin-kompiler får jeg beskeden: "pause: not found"
Avatar billede arne_v Ekspert
22. april 2004 - 22:01 #17
Men det må vel strengt taget være cygwins problem.

PAUSE er en valid kommando
Avatar billede bertelbrander Novice
22. april 2004 - 22:45 #18
Problemet er vist at cygwin fortolker kommandoer på samme måde som på linux/unix hvor der vist ikke er nogen pause kommando. C og C++ standarden skriver meget lidt om hvad der kan tænkes at ske ved et system(...) kald.

Jeg vil dog stadig mene at det er kønnere at lave en ren C++ løsning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester