Fenice ha scritto:
lucifugo ha scritto:
Fenice ha scritto:
Il ciclo si ripete quando l'esito è vero, se è falso si esce dal ciclo e si prosegue il programma con le successive istruzioni
Non va cosí a causa dell'istruzione:
if(n<=0||n>2)
Io l'ho messo, per fare il controllo sul numero inserito dall'utente
Il fatto è che quell'if non serve a nulla: indipendentemente dal fatto che la condizione dell'if sia vera o falsa tu entri comunque nello switch e, o ti da errore perché non trova il valore corrispondente o ti inizia a fare tutti i casi uno per uno. Quindi, se vuoi usare un if per controllare il numero inserito devi scriverlo meglio: riscrivi la condizione, togli il printf dopo l'if, metti lo switch tra parentesi come corpo dell'if poi, dopo il blocco di codice dell'if metti un un bloccl di codice "else" che contiene il printf che hai tolto prima, e una buona idea sarebbe quella di inizializzare una variabile che ti permette di controllare se l'utente vuole ripetere il ciclo while o meno. Ovviamente questa è una delle possibili soluzioni