Scusatemi, mi sono un po sbattuto su questa cosa del case per ignorare newline, e spazio...non capisco il motivo del perchè, quando lavoro con caratteri 'A', e inserendo appunto il case per ignorare i suddetti, lo faccia, e mentre invece, lo faccio con interi numerici, no...per capirsi, io ho questo esempio in codice:
#include <stdio.h>
int main(){
int grade;
int aCount=0, bCount=0, cCount=0, dCount=0;
printf("Inserisci tutte le lettere dei voti(EOF=ctrl+d per terminare): ");
while((grade = getchar()) != EOF){
switch (grade){
case 'A' : case 'a' :
++aCount;
break;
case 'B' : case 'b' :
++bCount;
break;
case 'C' : case 'c' :
++cCount;
break;
case 'D' : case 'd' :
++dCount;
break;
case '\n' : case ' ':
break;
default:
printf("\n\nIl valore inserito non è corretto, inseriscine un altro: ");
break;
}
}
printf("A: %d", aCount);
printf("\nB: %d", bCount);
printf("\nC: %d", cCount);
printf("\nD: %d", dCount);
return 0;
}
e quando invece faccio una cosa simile:
#include <stdio.h>
int main()
{
int grade, pari, dispari;
pari = 0;
dispari = 0;
printf("Inserisci un intero:");
while((grade = getchar()) != EOF){
switch(grade % 2){
case 0 :
pari++;
break;
case 1:
dispari++;
break;
case '\n' : case ' ' :
}
}
printf("\n\nI numeri dispari sono: %d", dispari);
printf("\n\nI numeri pari sono: %d", pari);
return 0;
}
non lo faccia...