Ciao ragazzi questa volta il problema mi chiede di modificare un esercizio in modo che trovi la media.
Questo è il codice che ho scritto.
#include <stdio.h>
int main (void){
[code]
int grade;
int aCount=0; /*somma il numero di A*/
int bCount=0;
int cCount=0;
int dCount=0;
int fCount=0;
int totalea=0; /*somma il totale dei voti A,se ho 3 A sarà 30 poichè A=10,vale anche per a*/
int totaleb=0;
int totalec=0;
int totaled=0;
int totalef=0;
int a;
int A;
A=a=10;
int b;
int B;
B=b=8;
int c;
int C;
C=c=6;
int d;
int D;
D=d=4;
int F;
int f;
F=f=2;
float media;
media=(float) (totalea + totaleb + totalec + totaled +totalef) /(aCount + bCount + cCount +dCount+ fCount);
printf("Enter the letter grades.\n");
printf("Enter the EOF character to end input.\n");
while ((grade= getchar()) != EOF) {
switch (grade) {
case 'A':
case 'a':
totalea=totalea + grade;
++aCount;
break;
case 'B':
case 'b':
totaleb=totaleb + grade;
++bCount;
break;
case 'C':
case 'c':
totalec=totalec + grade;
++cCount;
break;
case 'D':
case 'd':
totaled=totaled + grade;
++dCount;
break;
case 'F':
case 'f':
totalef=totalef + grade;
++fCount;
break;
case '\n':
case '\t':
case ' ' :
break;
default:
printf("Incorrect letter grade entered.");
printf(" Enter a new grade.\n");
break;
}
}
printf("La media della classe è %.2f", media);
fflush(stdin);
getchar();
return 0;
}
Quanfo eseguo mi stampa la media della classe è -1.#J credo sia dovuto al fatto che non può dividere caratteri per numeri o qualcosa del genere