• 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 [C] il programma parte dall'inizio e arriva subito alla fine e non so come aggiustarlo

Korra96

Nuovo utente
Autore del topic
24 Ottobre 2010
43
0
Miglior risposta
0
Allora la mia idea del programma era quella di fare una scelta multipla che , per esempio, se si digitava 1 si eseguiva un' addizione. Poi finita l'addizione, sempre per esempio, si chiede se si vuole ripetere il programma o no. Il problema è che mi esegue fino al primo system ("PAUSE"); e poi ricomincia eseguire da printf ("FINE!");. Ecco il codice:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Spero che possiate risolvere il mio problema e grazie in anticipo :emoji_slight_smile:
P.S.: Se fate degli aggiustamenti se potete cortesemente spiegarmi l'errore come aggiustarlo in caso si ripeta grazie.
 
Riferimento: [C] il programma parte dall'inizio e arriva subito alla fine e non so come ag

Devi togliere system("PAUSE"); perchè con questa istruzione il programma si ferma, e non va oltre.

Per farlo riesceguire scrivi :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Riferimento: [C] il programma parte dall'inizio e arriva subito alla fine e non so come ag

ma dici il primo system ("PAUSE"); o quello nel ciclo while?
 
Riferimento: [C] il programma parte dall'inizio e arriva subito alla fine e non so come ag

ma dici il primo system ("PAUSE"); o quello nel ciclo while?

No, prima, dove c'è scritto questo codice :

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

Poi devi anche toglierlo dai vari casi dello switch, e lasciare quello che c'è alla fine del programma.

In parole povere il codice risulterà essere così ( sistemato ) :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Riferimento: [C] il programma parte dall'inizio e arriva subito alla fine e non so come ag

mi dice che ci sono un sacco di errori
 
Riferimento: [C] il programma parte dall'inizio e arriva subito alla fine e non so come ag

mi dice che ci sono un sacco di errori

Sì, perchè a quanto pare ti sei dimenticato delle parentesi, e avevi chiuso la parentesi del main() dopo che scriveva a schermo "Iniziamo"

Ecco il codice corretto :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Ultima modifica:
Riferimento: [C] il programma parte dall'inizio e arriva subito alla fine e non so come ag

Continua a fare lo stesso problema... Arriva direttamente alla fine
 
Riferimento: [C] il programma parte dall'inizio e arriva subito alla fine e non so come ag

no non funziona.
--------------- AGGIUNTA AL POST ---------------
funziona ho sostituito il ciclo while con il do while
 
Ultima modifica:
Riferimento: [C] il programma parte dall'inizio e arriva subito alla fine e non so come ag

ok. a quanto pare era più appropriato il do while
 
Riferimento: [C] il programma parte dall'inizio e arriva subito alla fine e non so come ag

ok. a quanto pare era più appropriato il do while

Avresti potuto comunque usare le istruzioni che hai usato fino a poco fa, però lo avevi messe in un ordine sbagliato, e hai commesso l'errore di chiudere la parentesi graffa della funzione main prima che facesse la verifica della scelta dell'operazione. Quella parentesi si chiude solo quando si dichiara un'altra funziona che di conseguenza assumerà un altro nome ( scelto da te ovviamente )