[ R A V E N @ 04.11.2005. 23:32 ] @
Na primjer,ovaj trivijani primjer:

Code:
#include <stdio.h>

main()
{
    printf("Hello,world!");
    return 0;
}


Aplikacija se trenutačno izvrši i odmah ugasi,odnosno njen prozor samo bljesne na monitoru.Prije dok sam radio u lcc-win32,u programima se pojavljivala poruka "Press any key to continue...",da bi se program isključio.

Jedno od mogućih rješenja je da se pisanje svakog novog programa počne na ovoj osnovi:

Code:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  
  system("PAUSE");    
  return 0;
}


ali mene interesuje može li kako jednostavnije,promjenom nečega u argumentu main funkcije ili promjenom vrijednosti koju vraća return.Riječ je o jednostavnim MSDOS aplikacijama koje pišem za edukacione svrhe,pa bih želio da ih riješim bespotrebnih dijelova koda koji još nisu objašnjeni učenicima.Govorim o C,ne o C++ programima.

[Ovu poruku je menjao R A V E N dana 05.11.2005. u 02:54 GMT+1]
[ Nebojsa Petkovic @ 05.11.2005. 00:36 ] @
Ukljuci biblioteku conio.h i u main funkciju ubaci getch(); .

Code:

#include <stdio.h>
#include <conio.h>
main()
{
    printf("\nHello,world!");
    getch();
    return 0;
}


pozz



[Ovu poruku je menjao Nebojsa Petkovic dana 05.11.2005. u 01:37 GMT+1]

[Ovu poruku je menjao Nebojsa Petkovic dana 05.11.2005. u 20:28 GMT+1]
[ japan @ 05.11.2005. 03:42 ] @
a sto program mora da se startuje klikom? zasto je toliki problem otvoriti command prompt, i drzati ga otvorenog dok ima potrebe za njim...?
[ drismet @ 05.11.2005. 08:47 ] @
Mozes dodati samo getchar(); i sve radi. Primer:
Code:
#include <stdio.h>

main()
{
    printf("Hello,world!");
    getchar();
    return 0;
}
[ IDE @ 05.11.2005. 09:43 ] @
da, slazem se sa "japanom".....

ni ja ne zovem nikada iz command prompt-a neki program pa nemam mnogo iskustva sa tim, ali cini mi se da bi to rijesilo ovaj problem....
[ Sladjan2S @ 05.11.2005. 10:16 ] @
Na kraj main funkcije ubacis system("PAUSE"); Ono ce onda prikazati Press any key to continue...
[ X Files @ 05.11.2005. 10:43 ] @
Za mene su konzolni programi - konzolni, i ja tada otvorim Norton Commander
i programe pozivam iz njega. Tada ti nikakav system("PAUSE") ne treba.

A kada sam bas iz Windows-a trebao da pozivam neki DOS program, pokretanje
sam podesavao preko PIF datoteke, koja se moze dodatno podesiti da ti program
bude na primer maximizovan i da se ne vraca odmah u Windows.

Kada hocu da izadjem kucam 'exit' i to je to.
[ drismet @ 05.11.2005. 16:53 ] @
Naravno ako on hoce moze raditi u terminal emulatoru, moze uopste i bez IDE-a. Jednostavno instalira neki text editor za vir. terminal tipa vi, pico i moze kompajlirati sa gcc-om i odmah tu pokrenuti svoj program.
[ dejandj @ 07.11.2005. 15:42 ] @
Iz win-a (podrazumeva se by default) ono
system("PAUSE");
je neophodno da bi video rezultat u consoli...

Za resto ti treba neki prozorcic koji ce da izigrava to isto.
Moze i to, ali imas overhead...
[ rumpl @ 08.11.2005. 11:54 ] @
Ja sam bio uspeo da uradim sta ti hoces da uradis, ali to je bilo na starom win98
Desni klik na ikonicu tvog progama i imao je jednu opciju "Exit when finished", to sam samo dezaktivirao i radilo je.
Sada sam na linuxu tako da ne znam mada sam pokusao jedom da uradim istu stvar na winXp ali nisam nasao tu opciju...
Pozdrav
[ Buffy @ 08.11.2005. 13:43 ] @
Ako zelis da ti se pojavljuje "Pres any.." bez ukucavanje system("pause")
onda skini sa neta MinGW Developer Studio koji to podrzava, ali samo ako iz Build menija pozoves execute, ako iz konzole pozoves program, naravno da nece biti pauze. Mozda se zeljeni efekat moze postici i sa Dev-Cppom, ali to na kraju krajeva nije toliko bitno i po mom misljenju problem nije bio dovoljno jak da se zbog njega otvara nova tema. :)
[ Burgos @ 08.11.2005. 14:53 ] @
Kao što X-Files reče, konzolne programe treba pokretati iz konzole. Pretpostavljam da učenici koje učiš C TREBA da znaju kako se pokreću programi iz iste.
[ R A V E N @ 09.11.2005. 08:54 ] @
Hvala svima,mislim da ce ovih par promjena u kodu biti dovoljne.Za ostale,koji spominju konzolu, pretpostavljam da misle na nesto slicno tipa "Restart Windows in MS-DOS mode",kao sto je bilo pod Windowsima 98.No i vec data objasnjenja su dovoljna.

Zapravo ne ucim ucenike,nego ucim sebe,ali to za ovu temu i nije toliko vazno.

[Ovu poruku je menjao R A V E N dana 09.11.2005. u 09:55 GMT+1]
[ japan @ 09.11.2005. 09:54 ] @
pa ja sam vise mislio na run -> cmd nego na restart
[ drismet @ 09.11.2005. 10:27 ] @
Ja sam mislio na cygwin, on je dobar.