PDA

Visualizza la versione completa : [C] strano problema


D4MI4NO
14-07-2002, 02:10
ciao, appena faccio un piccolo codice in C, lo compilo, e avvio l'exe, mi si apre la finestrella e poi scopare subito, nemmeno dando il tempo di vedere la scritta nella finestrella...per esempio ora ho fatto una cosa del genere

#include <stdio.h>
int radius, area;
int main()
{
printf("Immettere raggio (ad es. 10): ");
scanf("%d", &radius);
area=(int) (3.14159*radius*radius);
printf("\n\nArea=%d\n",area);
return 0;
}

quando avvio l'exe si ferma sullo scanf aspettando che gli do un valore, una volta dato, si chiude la finestra...

come mai questa cosa?

ps: uso il Borland c++ 5.02

debbelandia
14-07-2002, 02:49
perforza gfai così:

#include <stdio.h>
#include <conio.h>
int radius, area;
int main()
{
printf("Immettere raggio (ad es. 10): ");
scanf("%d", &radius);
area=(int) (3.14159*radius*radius);
printf("\n\nArea=%d\n",area);
getch();
return 0;
}

D4MI4NO
14-07-2002, 07:04
grazie mille, come mi hai suggerito tu funziona, però perchè mi da lo stesso problema se io faccio un codice piccolissimo come per esempio

#include <stdio.h>
int main()
{
printf("ciao a tutti!\n");

}

cos'è che non va qui? Molte altre volte ho compilato hello world come questo ma non mi dava il problema che la finestre dell'exe si apriva e si chiudeva a velocità che nemmeno ti fa leggere cosa c'è scritto.
Come mai?

Ciao :ciauz:

Reale_Augello
14-07-2002, 12:57
Originariamente inviato da D4MI4NO
grazie mille, come mi hai suggerito tu funziona, però perchè mi da lo stesso problema se io faccio un codice piccolissimo come per esempio

#include <stdio.h>
int main()
{
printf("ciao a tutti!\n");

}

cos'è che non va qui? Molte altre volte ho compilato hello world come questo ma non mi dava il problema che la finestre dell'exe si apriva e si chiudeva a velocità che nemmeno ti fa leggere cosa c'è scritto.
Come mai?

Ciao :ciauz:

Cambia il codice da



#include <stdio.h>
int main()
{
printf("ciao a tutti!\n");

}


a



#include <stdio.h>
#include <conio.h>
void main()
{
printf("ciao a tutti!\n");
getch();
}


Ciao ! :)

debbelandia
14-07-2002, 15:13
Il compilatore compila tutto e poi esce , per farlo fermare devi fare così!!!

etzocri
14-07-2002, 16:32
il tuo problema è il fatto che il programma esegue tutte le istruzioni e poi esce...per fermare l'esecuzione puoi mettere un'istruzione cosi:

fflush(stdin);/*pulizioa buffer*/

getchar(); /*attende la pressione di un tasto*/

/*pulisce il buffer dello standard input e attende la pressione di un tasto per continuare e quindi uscire*/

debbelandia
14-07-2002, 19:34
si dipende se è interessato al c o al c++ ma penso che il suo livello attuale non comporta questo problema!!!

Reale_Augello
14-07-2002, 19:39
... di C, se non erro... :rolleyes:

Cmq la soluzione ottimale, credo, sia quella di includere conio.h e di utilizzare getch().

Saluti.

D4MI4NO
15-07-2002, 00:06
ok grazie ragazzi, cmq si, stò imparando il c :)

tnx a tutti :)

JamesD
15-07-2002, 11:07
Ehm scusate l'intromissione ma non è un metodo un po spartano usare getch per fermare la finestra!?!

Loading