Newsgroup: it.comp.lang.c
Titolo: super niubbo

Salve a tutti, mi scuso in partenza per la domanda irriverente ma 
proprio non capisco dove sia l'errore.....
Ho appena apero un libro di C e ho scritto compilato ed eseguito il 
seguente programma
/* Programma per la somma di due numeri */
#include<stdio.h>
int main ()
{
     int a,b;
     printf("primo numero:");
     scanf("%d", &a);
     printf("secondo numero:");
     scanf("%d", &b);
     printf("la somma è %d\n",a+b);
     return 0;
}
il programma funziona ma non dà il tempo materiale per leggere il 
risultato sullo schermo, ovvero inserisco il primo numero, invio.
Inserisco il secondo numero, invio e la finestra si chiude.......dov'è 
l'inghippo?
-- 
"nao encha o saco, to de ferias!!!"
http://www.cremnagodrinkmen.com

 l'inghippo?
mmm sei sotto windows e fai doppio click sull'eseguibile giusto? Hai due 
strade, o prima del return metti una getchar() in modo che attenda la 
pressione di un qualsiasi tasto prima di continuare l'esecuzione, oppure 
provi ad eseguire il programma dal prompt.
Saluti
Ivan

 Ivan
purtroppo non cambia nulla........


 purtroppo non cambia nulla........
Prova a mettere due getchar() (uno per togliere il ritorno a capo dal 
buffer e l'altro per attendere un ulteriore ritorno a capo). Oppure puoi 
usare system("pause") includendo <stdlib.h>.
Tuttavia a mio avviso la cosa migliore è usare il prompt:
- se sei su Windows: Start > Esegui > digiti "cmd" > OK poi ti muovi 
nella cartella dove sta il tuo eseguibile con il comando cd e poi digiti 
nome del programma e invio
- se sei su linux avvii il terminale, usi il cd come sopra e poi ./
eseguibile
Saluti!

 purtroppo non cambia nulla........
Spiega come esegui il programma. Prova ad eseguirlo con CMD.EXE
E.

 nome del programma e invio
anche così funziona........mi domando perché non sia stato spiegato nel 
libro.........


Prova ad eseguirlo con CMD.EXE
cos' funziona regolarmente.......dov'è la differenza?


 
§Lanciando il tuo programma nella maniera usuale, doppio click sul .exe, 
il terminale di windows cmd.exe appunto, viene lanciato e terminato 
automaticamente alla fine della tua applicazione mentre utilizzando 
manualmente cmd.exe questo rimane ancora in uso anche quando il tuo 
programma termina dandoti un tempo umano per la lettura dei risultati.
Spero sia chiaro anche se scritto al volo :)
ciao

 Spero sia chiaro anche se scritto al volo :)
Chiarissimo, ma mi viene spontanea un altra domanda....supponiamo che il 
programma in questione sia complesso, e non banale come questo, da usare 
quotidianamente su un pc con windows.... l'utente dovrebbe sempre 
lanciarlo dalla riga di comando o c'è un modo per poterlo lanciare ed 
utilizzare senza chiusure improvvise dall'icona del desktop?
grazie, ciao

 libro.........
perhc'e e' un problema di windows, non del C.
Ciao Jack

Lemmy Kilmister ha scritto:

L'ultima volta che ho usato windows (quindi questa informazione potrebbe
non essere piu` corretta), facendo con il destro sull'eseguibile, e poi
proprieta` ti si apre una finestra dove, da qualche parte, c'e` una
spunta che dice di non chiudere la finestra altermine del programma.
Dovrebbe fare al caso tuo.
Ciao

 grazie, ciao
A parte la soluzione proposta da antonio, sicuramente valida ma neanche 
io mi ricordo esattamente come si faccia quell'impostazione.
Si presume che se l'utente deve usarlo, il programma non sia ancora 
terminato quindi un programma reale non si chiuderebbe all'istante se 
fosse necessario un vero uso semplicemente perchè non sarebbe terminato.
Detto questo, è chiaro che le prove e gli esercizi di programmazione 
sono tutt'altra cosa per cui... imposta la console di win in modo che 
non si chiuda.

 grazie, ciao
il terminale in linux e quello in windows sono due cose veramente molto 
diverse
C e' stato scritto dagli stessi programmatori che hanno scritto unix 
(linux e' un clone free di unix), ed e' normale che si "adatti" meglio a 
quell'ambiente.
se vuoi scrivere un software in windows complesso, dovrai per forza 
imparare ad andare oltre la console, e ad aprire le finestre
all'epoca (alcuni anni fa) c'era un bel libro cazzuto sull'argomento
mi ricordo ancora titolo a autore
Charles Petzold - programming Windows

 imparare ad andare oltre la console, e ad aprire le finestre
Non diamo informazioni fuorvianti. La complessita' di un programma non
dipende dal modello di interazione con l'utente.
Se scrivi un demone per windows (servizio o come ceppa lo chiamano loro)
non hai probabilmente grafica. Etc etc etc.
Sono due cose ben diverse, non mettiamole insieme.
-- 
-riko