far terminare un programma in c!
-
MicheleMic
- Prode Principiante
- Messaggi: 6
- Iscrizione: mercoledì 9 aprile 2014, 16:14
far terminare un programma in c!
ciao a tutti,
sto imparanto le basi del linguaggio c x cercare di riuscire a progettare piccoli e sempli programmi.
Al momento utilizzo dev-c++ come compilatore ed esecutore.
una volta terminato il programma e facendo patire l'applicazione che ho creato (.exe) , una volta terminato si chiude improvvisamente la finestra di svilutto( x intendersi, quella con sfondo nero deove gira il programma).
Mi chiedevo se esiste la possibilità che il programma attenda il premere di un tasto , come ad esempio quello del tasto ''invio'' , da parte dell'operatore fisico, per far terminare il programma , senza che sparisca all'improvviso.
il codice è di una banalità assurda, sono sicuro, solo che per me è già molto esser riuscito a compilare roba del genere, non avendo basi informatiche decenti!
lo posto qui sotto:
#include <stdio.h>
int main(){
int a;
char esci[20];
printf("dimmi quanti anni hai: ");
scanf("%d",&a);
if(a<18){
printf("sei molto giovane");
}
else{
printf("sei una persona matura"); / qui vorrei che il programma attenda il premere di un tasto ( tipo tasto invio) da parte dell'operatore fisico, per far terminare il tutto/
}
fatemi saperre.
grazie in anticipo!
michele.
sto imparanto le basi del linguaggio c x cercare di riuscire a progettare piccoli e sempli programmi.
Al momento utilizzo dev-c++ come compilatore ed esecutore.
una volta terminato il programma e facendo patire l'applicazione che ho creato (.exe) , una volta terminato si chiude improvvisamente la finestra di svilutto( x intendersi, quella con sfondo nero deove gira il programma).
Mi chiedevo se esiste la possibilità che il programma attenda il premere di un tasto , come ad esempio quello del tasto ''invio'' , da parte dell'operatore fisico, per far terminare il programma , senza che sparisca all'improvviso.
il codice è di una banalità assurda, sono sicuro, solo che per me è già molto esser riuscito a compilare roba del genere, non avendo basi informatiche decenti!
lo posto qui sotto:
#include <stdio.h>
int main(){
int a;
char esci[20];
printf("dimmi quanti anni hai: ");
scanf("%d",&a);
if(a<18){
printf("sei molto giovane");
}
else{
printf("sei una persona matura"); / qui vorrei che il programma attenda il premere di un tasto ( tipo tasto invio) da parte dell'operatore fisico, per far terminare il tutto/
}
fatemi saperre.
grazie in anticipo!
michele.
- lucalaugh
- Prode Principiante
- Messaggi: 129
- Iscrizione: giovedì 10 dicembre 2009, 19:16
- Desktop: Gnome + Unity
- Distribuzione: Ubuntu 13.10 64bit
- Località: Acireale (CT)
- Contatti:
Re: far terminare un programma in c!
beh, visto che stai utilizzando Windows e DevC++ (
) basta includere e poco prima di chiudere la parentesi graffa } metti , la funzione system come puoi intuire esegue comandi da shell, in questo caso il comando "PAUSE" che su windows ti chiede di premere un tasto per continuare.
Codice: Seleziona tutto
#include <stdlib.h>Codice: Seleziona tutto
system("PAUSE")-
MicheleMic
- Prode Principiante
- Messaggi: 6
- Iscrizione: mercoledì 9 aprile 2014, 16:14
Re: far terminare un programma in c!
Grazie Luca . Tranquillo
sto scaricando ubuntu 13.10 32 bit. proprio perché vorrei scaricare geany come compilatore e perché penso sia molto meglio Linux che Windows. Me lo confermi ?
tramite virtualbox x il momento! Con geany posso utilizzare cmq la libreria e la funzione sustem che mi hai detto o cambia qualcosa?
Grazie ciao!
Grazie ciao!
-
1001001
- Entusiasta Emergente

- Messaggi: 1506
- Iscrizione: mercoledì 22 dicembre 2010, 18:09
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.1 LTS 64bit
- Località: Verona
Re: far terminare un programma in c!
Ciao!
Un paio di osservazioni (in ordine sparso di importanza) :
1) DEV-C++ e Geany sono IDE, non compilatori. Su windows probabilmente usi MinGW, su Ubuntu probabilmente userai gcc. Attento a non fare confusione
2) usare la funzione system è fortemente sconsigliato, prima di tutto per motivi di sicurezza..senza contare che è os-dependent. Il modo più pulito di procedere secondo me è usare la funzione getc:
In ambiente linux comunque questo bisogno è ridotto dal fatto che i programmi compilati vengono generalmente lanciati da console, quindi la terminazione del processo non fa "chiudere la finestra" come su windows (dove il problema è dovuto al fatto che lanci il programma attraverso l'IDE, se usassi la console anche lì la situazione sarebbe la stessa)
3) ricordati di usare il tag code quando posti i tuoi codici, per facilitare la leggibilità..potresti per favore modificare anche il post sopra?
e già che siamo in tema, ricordati anche di indentare per bene i codici che scrivi 
4)
5)
)
Un paio di osservazioni (in ordine sparso di importanza) :
1) DEV-C++ e Geany sono IDE, non compilatori. Su windows probabilmente usi MinGW, su Ubuntu probabilmente userai gcc. Attento a non fare confusione
2) usare la funzione system è fortemente sconsigliato, prima di tutto per motivi di sicurezza..senza contare che è os-dependent. Il modo più pulito di procedere secondo me è usare la funzione getc:
Codice: Seleziona tutto
getc (stdin);3) ricordati di usare il tag code quando posti i tuoi codici, per facilitare la leggibilità..potresti per favore modificare anche il post sopra?
4)
la domanda l'hai posta a un pubblico tendenzialmente di parte : ) io però cercherò di essere obiettivo, e dirò: "dipende". Dipende da quello che vuoi farci e da quanta voglia hai di sbatterti a imparare un nuovo sistema operativo. Ma se vuoi approfondire la questione ti consiglio di aprire una nuova discussione, qui rischiamo di andare off-topicMicheleMic ha scritto: penso sia molto meglio Linux che Windows. Me lo confermi ?
5)
premesso quanto detto al punto 2, la funzione system, in quanto funzione del C, può essere usata anche su ubuntu..il problema è che "pause" non è un comando della shell di ubuntu, quindi se proprio vuoi usare system dovrai adattare la chiamata (vedi ancora punto 2, alla voce: os-dependentMicheleMic ha scritto:Con geany posso utilizzare cmq la libreria e la funzione sustem che mi hai detto o cambia qualcosa?
"I find your lack of faith disturbing."
-
MicheleMic
- Prode Principiante
- Messaggi: 6
- Iscrizione: mercoledì 9 aprile 2014, 16:14
Re: far terminare un programma in c!
ebbene si, nn so come usare il tag! quqlkuno me lo può spiegare? grazie!
-
1001001
- Entusiasta Emergente

- Messaggi: 1506
- Iscrizione: mercoledì 22 dicembre 2010, 18:09
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.1 LTS 64bit
- Località: Verona
Re: far terminare un programma in c!
Nella finestra di composizione del messaggio che apri cliccando su "Rispondi" (o su "Editor completo" se hai cliccato su "Risposta rapida") c'è un tasto in alto a sinistra con scritto "Codice". Seleziona il testo che vuoi racchiudere fra tag e clicca sul tasto
"I find your lack of faith disturbing."
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti