Salve a tutti, come da titolo ho un problema con l'istruzione default di una funzione switch all'interno di un esercizio. Questo mi chiede di acquisire una votazione tra A, B o C e di contare gli inserimenti di queste votazioni fino all'inserimento di un carattere di escape e a quel punto mostrare a video il resoconto dei valori inseriti. Ecco il codice che ho scritto :
#include <stdio.h>
int main()
{
int voto;
int contA = 0;
int contB = 0;
int contC = 0;
printf("\nSTATISTICA VOTAZIONI\n");
printf("\ninserisci una votazione (digita F per terminare) : \n");
while ((voto = getchar()) != 'F')
{
switch(voto)
{
case 'a' :
case 'A' :
contA++;
break;
case 'b':
case 'B':
contB++;
break;
case 'c':
case 'C':
contC++;
break;
default :
printf("\nattenzione il voto non e' valido\n");
break;
}
}
printf("\nVOTO A: %d\nVOTO B: %d\nVOTO C: %d\n\n", contA, contB, contC);
return 0;
}
il codice funziona, il problema che anche quando inserisco un carattere "corretto" il programma prima incrementa il contatore della variabile inserita e poi va nell'istruzione default mostrando a video attenzione il voto non e' valido.