Stavo provando e salvando l'istruzione switch per un eventuale uso futuro....la variabile dalla quale dipende lo switch è "scelta" dichiarata int.
In caso di inserimento di un altro numero oltre quelli che comportano i vari casi dello switch il ciclo while viene ripetuto ma nel caso di inserimento un carattere il programma va in loop...come potrei ovviare il tutto?
Inoltre avete consigli in generale?



codice:
#include<stdio.h>
main()
{
int scelta;
//il ciclo è sempre vero infatti si basa sulla condizione del while(1)che è sempre vera
//mentre solo nel caso 0 lo switch ritorna 0 alla do while
do{

printf("digita 1 se vuoi visualizzare la scritta 'prova del primo caso'\n");   
printf("digita 2 se vuoi visualizzare la scritta 'prova del secondo caso'\n");   
printf("digita 3 se vuoi visualizzare la scritta 'prova del terzo caso'\n");   
printf("digita 0 se vuoi uscire\n");   
//variabile sulla quale si basa lo switch se era un carattere nei vari casi bisogna
//mettere le virgolette ad esempio case"s"
scanf("%d",&scelta);

switch(scelta){
                 case 1:
                      {
                      printf("hai scelto il PRIMO caso\n");
                      }
                      break;
//l'istruzione break serve per concludere un caso 
                 case 2:
                      {
                            printf("hai scelto il SECONDO caso\n");
                      }
                      break;
                 case 3: 
                      {
                            printf("hai scelto il TERZO caso\n");
                      }
                 case 0:
                        {
                        return 0;
                        }
                        break;
                 default:
                 {
                         printf("errore di inserimento\n\n");
                 }
                 break;
            }
}
while(1);

system("pause");
}