Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-09-2009, 00:42   #1
marco_182
Senior Member
 
L'Avatar di marco_182
 
Iscritto dal: Jul 2008
Città: TV
Messaggi: 1462
[c] problema chiusura automatica di eseguibile

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
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 è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2009, 01:59   #2
marco_182
Senior Member
 
L'Avatar di marco_182
 
Iscritto dal: Jul 2008
Città: TV
Messaggi: 1462
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
marco_182 è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2009, 10:32   #3
Rsk
Senior Member
 
L'Avatar di Rsk
 
Iscritto dal: Dec 2006
Messaggi: 314
Quote:
Originariamente inviato da marco_182 Guarda i messaggi
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
__________________
Athlon64 x2 5600 - AsRock ALiveNF5eSata2+ - kingston 2GB ddr2 800 - GeForce 8800gts 320MB
Rsk è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2009, 10:39   #4
tom03
Senior Member
 
L'Avatar di tom03
 
Iscritto dal: Jul 2003
Città: Trieste/Trst
Messaggi: 960
Quote:
Originariamente inviato da Rsk Guarda i messaggi
oppure getchar() che è portabile
Usa getchar();

es. per Hello World

Codice:
#include <stdio.h>

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

CiauZ
__________________
Se ti viene voglia di lavorare, siediti vedrai che ti passa
tom03 è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2009, 12:20   #5
marco_182
Senior Member
 
L'Avatar di marco_182
 
Iscritto dal: Jul 2008
Città: TV
Messaggi: 1462
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:
Codice:
#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():
Codice:
#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

Ultima modifica di marco_182 : 05-09-2009 alle 12:32.
marco_182 è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2009, 12:41   #6
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2789
Forse il getchar legge l'invio che digiti dopo l'ultimo numero e quindi non aspetta che digiti qualcos'altro.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2009, 13:02   #7
marco_182
Senior Member
 
L'Avatar di marco_182
 
Iscritto dal: Jul 2008
Città: TV
Messaggi: 1462
edit: risolto..
lol

Ultima modifica di marco_182 : 05-09-2009 alle 13:07.
marco_182 è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2009, 15:57   #8
tom03
Senior Member
 
L'Avatar di tom03
 
Iscritto dal: Jul 2003
Città: Trieste/Trst
Messaggi: 960
Quote:
Originariamente inviato da marco_182 Guarda i messaggi
edit: risolto..
lol
Hai messo un secondo getchar(); vero ?????


CiauZ
__________________
Se ti viene voglia di lavorare, siediti vedrai che ti passa
tom03 è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2009, 17:32   #9
marco_182
Senior Member
 
L'Avatar di marco_182
 
Iscritto dal: Jul 2008
Città: TV
Messaggi: 1462
Quote:
Originariamente inviato da tom03 Guarda i messaggi
Hai messo un secondo getchar(); vero ?????


CiauZ
proprio così, due di seguito
ora sto cercando di scrivere un codice che mi trovi la media di tre numeri, ci smanetto un po
marco_182 è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2009, 22:24   #10
tom03
Senior Member
 
L'Avatar di tom03
 
Iscritto dal: Jul 2003
Città: Trieste/Trst
Messaggi: 960
Quote:
Originariamente inviato da marco_182 Guarda i messaggi
proprio così, due di seguito
ora sto cercando di scrivere un codice che mi trovi la media di tre numeri, ci smanetto un po
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
__________________
Se ti viene voglia di lavorare, siediti vedrai che ti passa
tom03 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v