PDA

Visualizza la versione completa : [C] Arresto di programma


Sos_Code
10-05-2012, 17:52
Salve a tutti!
Poiché qui trovo sempre tutte le risposte alle mie domande,
vi sottopongo il problema di oggi.

Ho questo programma, che prevede di rimandare all'utente il nome del mese corrispondente al numero inserito:


#include <stdio.h>
#include <stdlib.h>

int main()
{
int mese;

printf("Inserire un numero da 1 a 12:\n");
scanf("%d", &mese);


if (mese <=0 || mese >12)
{
{
printf("Operazione impossibile.");
printf("\nAssicurarsi che il numero inserito sia compreso tra 1 e 12");
printf("\nInserire un numero da 1 a 12:\n");
}
system("PAUSE");
}

else
{
switch (mese)
{
case 1: printf("%d = Gennaio", mese);
break;

case 2: printf("%d = Febbraio", mese);
break;

case 3: printf("%d = Marzo", mese);
break;

case 4: printf("%d = Aprile", mese);
break;

case 5: printf("%d = Maggio", mese);
break;

case 6: printf("%d = Giugno", mese);
break;

case 7: printf("%d = Luglio", mese);
break;

case 8: printf("%d = Agosto", mese);
break;

case 9: printf("%d = Settembre", mese);
break;

case 10: printf("%d = Ottobre", mese);
break;

case 11: printf("%d = Novembre", mese);
break;

case 12: printf("%d = Dicembre", mese);
break;
}

}
return 0;
}


Nel momento in cui inserisco un numero non compreso tra 1 e 12, il programma stampa che il numero non è corretto.
Il problema è questo però: come poter fare in modo da non far arrestare il programma fin quando il numero inserito non è corretto??

oregon
10-05-2012, 18:01
Devi includere il programma in un ciclo while invece che usare la if

P.S. Utilizza i tag CODE per mostrare il codice

Sos_Code
10-05-2012, 18:07
Però se elimino l'if, poi non posso utilizzare l'else per la struttura del switch..?

Per il tag Code..non lo utilizzo perché mi limito a fare copia e incolla dal file sorgente, visto che non me lo fa allegare! Sorry:)

oregon
10-05-2012, 18:09
Non c'è bisogno della else ... utilizza l'opzione

default

dello switch

Sos_Code
10-05-2012, 18:20
Grazie mille!:)

Loading