• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto Problema con un codice.

jigsaw

Utente Assiduo
Autore del topic
7 Maggio 2009
590
0
Miglior risposta
0
Salve a tutti.
Inizio col dire che è da poco che mi sono avvicinato ai linguaggi di programmazione ed ultimamente ho cominciato a vedere un pò il liguaggio C.
Ho trovato in giro per il web delle guide su come iniziare.
Uso Dev-C++ come IDE e ho iniziato, come la guida suggeriva, a creare dei "programmi" ( se così si possono chiamare) che girassero sulla finestra del MSDOS.
Seguendo la guida ho creato dei semplici "giochini" che ti dicevano di inserire un numero e in automatico ti trova il precedente e il seguente, schiocchezze, ma che penso siano utili per apprendere il linguaggio.
Però arrivato ad un punto mi sono fermato poichè la guida presentava un codice di questo tipo :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Non capendo cosa volesse significare ho deciso di copiare ed incollare tutto. Ho compilato, ed una volta eseguito il file si apriva normalente la finestra MSDOS che ti chiede di scegliere fra 4 numeri. Una volta inserito il numero scelto e premuto invio però la finestra si chiude automaticamente.
Penso che l'errore sia una cosa molto semplice ma io sono alle prime armi e non lo riesco a vedere.
Immagino che ci sia bisogno di una stringa del tipo : system("PAUSE")
Ma non so.
Se qualcuno riesce a capire mi fa un piacere :soso:
:ascelle:Illuminatemi!:ascelle:
 
Riferimento: Problema con un codice.

allora adesso ti spiego il codice:

#include <studio.h>
richiama un riferimento

Crea una variabile e la chiama "i"

Crea un MessageBox (alert)

scanf("%d", &i)
La funzione scanf ha lo scopo di rilevare quanto immesso dall'utente tramite la tastiera, convertirlo in un numero intero e memorizzarne il risultato nella variabile i (&i).

Il comando Switch si conosce adesso ti spiego:

Richiama lo "Switch" in i (variabile)

Apre lo svolgimento

case 1,2,3,4,ecc
richiama il prinft 1 e crea un secondo alert (printf("Inserimento))

serve per passare ad un altro "case" o terminare il ciclio

In pratica è come l' "Else" (Altrimenti) da una risposta generale se non incontra i termini contenenti in "case" indicati sopra

Chiude lo svolgimento

sinceramente non ho ben capito neanche io cosa significa ma ho capito che senza di quello il programma non funge...

alla fine fa
dopo questo codice fai una continuazione per esempio:
If(1)
{
prinft("Hai vinto!");
}
elseif(2)
{
prinft("Sbagliato!");
}
elseif(3)
{
prinft("Sbagliato!");
}
elseif(4)
{
prinft("Sbagliato!");
}
 
Ultima modifica:
Riferimento: Problema con un codice.

allora adesso ti spiego il codice:


richiama un riferimento


Crea una variabile e la chiama "i"


Crea un MessageBox (alert)


La funzione scanf ha lo scopo di rilevare quanto immesso dall'utente tramite la tastiera, convertirlo in un numero intero e memorizzarne il risultato nella variabile i (&i).


Il comando Switch si conosce adesso ti spiego:


Richiama lo "Switch" in i (variabile)


Apre lo svolgimento


richiama il prinft 1 e crea un secondo alert (printf("Inserimento))


serve per passare ad un altro "case" o terminare il ciclio


In pratica è come l' "Else" (Altrimenti) da una risposta generale se non incontra i termini contenenti in "case" indicati sopra

Chiude lo svolgimento


sinceramente non ho ben capito neanche io cosa significa ma ho capito che senza di quello il programma non funge...
OK, ma l'errore che mi fa chiudere il programma automaticamente quando digito un numero, qual è? O_O
 
Riferimento: Problema con un codice.

Come hai detto tu, devi inserire system("PAUSE"); prima di return 0;
 
Ultima modifica:
Riferimento: Problema con un codice.

C'ho provato e non va :cry:
 
Riferimento: Problema con un codice.

Ma non vale hai editato LOOOOOL
Mitico! adesso funge! grazie system :ascelle: