PDA

View Full Version : [c] problema chiusura automatica di eseguibile


marco_182
05-09-2009, 01:42
salve ragazzi, comincio anche io ad entrare nel mondo della programmazione, con piccoli passetti con il libro C corso completo di programmazione terza edizione.
cominciando già dal tipico "hello world" che nel libro è "welcome to C!" ho potuto constatare che il file .exe appena compilato di tale codice, all'avvio si chiude subito, nemmeno il tempo di aprirsi..
allora ho pensato, provo a scrivere un semplice codice per sommare due interi pensando che non si potesse chiudere subito..
compilato l'ho subito avviato, perfetto 8ho un pò modificato le scritte del codice che c'è nel libro da "enter first integer" a "inserisci il primo numero" e cosi via)
ma mi ricapita lo stesso problema alla fine..inserisco 5, premo invio ed inserisco ancora 5, e si chiude la finestra 1/4 di secondo dopo aver premuto invio, si il risultato si riesce a leggere ma solo rifacendo la stessa operazione varie volte e stando appiccicato allo schermo :D
c'è qualche stringa da inserire così da permettermi di chiudere la finestra solo dopo la pressione di un tasto o dopo un certo tot di tempo tipo 4 secondi così da poter leggere il risultato?
grazie mille

p.s.: mi piace sempre di più questo libro anche se non ne sò ancora nulla è molto piacevole e facile da seguire

marco_182
05-09-2009, 02:59
chiedo scusa per un doppio post ma sono riuscito a trovare da solo, per chi avesse bisogno basta inserire la libreria #include <stdlib.h>
e prima del return 0 inserire questa stringa:
system("pause");
bye

Rsk
05-09-2009, 11:32
chiedo scusa per un doppio post ma sono riuscito a trovare da solo, per chi avesse bisogno basta inserire la libreria #include <stdlib.h>
e prima del return 0 inserire questa stringa:
system("pause");
bye

oppure getchar() che è portabile

tom03
05-09-2009, 11:39
oppure getchar() che è portabile

Usa getchar();

es. per Hello World


#include <stdio.h>

main()
{
printf("Hello World");
getchar();
return 0;
}



CiauZ

marco_182
05-09-2009, 13:20
grazie per le risposte, con hello world funziona alla perfezione ma appena avvio l'eseguibile per fare una semplice addizione si chiude da solo...boh

originale:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int integer1;
int integer2;
int sum;

printf("inserisci il primo numero\n");
scanf("%d", &integer1);

printf("inserisci il secondo numero\n");
scanf("%d", &integer2);

sum = integer1 + integer2;

printf("il risultato e' %d\n\a", sum);

system("pause");

return 0;

}


se invece vado a scriverlo così:

modificato con getchar():

#include <stdio.h>
int main()
{
int integer1;
int integer2;
int sum;

printf("inserisci il primo numero\n");
scanf("%d", &integer1);

printf("inserisci il secondo numero\n");
scanf("%d", &integer2);

sum = integer1 + integer2;

printf("il risultato e' %d\n\a", sum);

getchar();

return 0;

}


si chiude da solo appena compare il risultato
aggiungo che uso dev-c++
ripeto che helloworld però non si chiude da solo

wingman87
05-09-2009, 13:41
Forse il getchar legge l'invio che digiti dopo l'ultimo numero e quindi non aspetta che digiti qualcos'altro.

marco_182
05-09-2009, 14:02
edit: risolto..
lol

tom03
05-09-2009, 16:57
edit: risolto..
lol

Hai messo un secondo getchar(); vero ?????


CiauZ

marco_182
05-09-2009, 18:32
Hai messo un secondo getchar(); vero ?????


CiauZ

proprio così, due di seguito :D
ora sto cercando di scrivere un codice che mi trovi la media di tre numeri, ci smanetto un po :D

tom03
05-09-2009, 23:24
proprio così, due di seguito :D
ora sto cercando di scrivere un codice che mi trovi la media di tre numeri, ci smanetto un po :D

Ti do un consiglio... la media e la somma dei numeri diviso nr. numeri
( mi spiego meglio x= somma/ n nel tuo caso n=3 )


ciauZ