Ok, I got everything else to work in a two part exercise except for the 2nd part.
The first part had me take up to 20 grades, calculate total, average, and then list the grades with a '*' next to ones that were lower than the average... good to go.
Now in the 2nd part of the exercise I have to also associate a letter grade with the grades in the list. I have done a "if else" chain, but am having an issue with multiple arguments and not sure if I have gone the right route.
Code:
//Cameron Taylor
#include <stdio.h>
#include <math.h>
#define MAXARRAY 20
int main(){
int usrGrade, total, i, gradecount = 0, grades[MAXARRAY] = {0};
double average;
printf("\nThis program calculates the total and average of up to 20 student grades. \nTo stop entering grades before 20, enter a negative number.\n\n");
do {
printf ("Enter a grade: ");
scanf ("%d", &usrGrade);
if (usrGrade >= 0)
{
grades[gradecount] = usrGrade;
total += usrGrade;
gradecount++;
}
} while (gradecount < MAXARRAY && usrGrade >= 0);
average = total/gradecount;
printf("\nThe sum total of grades entered: %d \n", total);
printf("\nThe average of grades is: %3.2f \n", average);
printf("\nThe grades entered are now associated with average.\nAn * indicates the grade is below the average.\n");
for (i = 0; i < gradecount; i++){
if (grades[i] >= average && <= 100 && > 89)
printf("A - %d\n", grades[i]);
else if (grades[i] >= average && <= 100 && > 89)
printf("A - *%d\n", grades[i]);
else if (grades[i] >= average && <= 89 && > 79)
printf("B - %d\n", grades[i]);
else if (grades[i] < average && <= 89 && > 79)
printf("B - *%d\n", grades[i]);
else if (grades[i] >= average && <= 79 && > 69)
printf("C - %d\n", grades[i]);
else if (grades[i] < average && <= 79 && > 69)
printf("C - *%d\n", grades[i]);
else if (grades[i] >= average && <= 69 && > 59)
printf("D - %d\n", grades[i]);
else if (grades[i] < average && <= 69 && > 59)
printf("D - *%d\n", grades[i]);
else if (grades[i] >= average && <= 59 && > 0)
printf("F - %d\n", grades[i]);
else
printf("F - *%d\n", grades[i]);
}
getchar();
return 0;
}
Part in question that I am having trouble with:
Code:
for (i = 0; i < gradecount; i++){
if (grades[i] >= average && <= 100 && > 89)
printf("A - %d\n", grades[i]);
else if (grades[i] >= average && <= 100 && > 89)
printf("A - *%d\n", grades[i]);
else if (grades[i] >= average && <= 89 && > 79)
printf("B - %d\n", grades[i]);
else if (grades[i] < average && <= 89 && > 79)
printf("B - *%d\n", grades[i]);
else if (grades[i] >= average && <= 79 && > 69)
printf("C - %d\n", grades[i]);
else if (grades[i] < average && <= 79 && > 69)
printf("C - *%d\n", grades[i]);
else if (grades[i] >= average && <= 69 && > 59)
printf("D - %d\n", grades[i]);
else if (grades[i] < average && <= 69 && > 59)
printf("D - *%d\n", grades[i]);
else if (grades[i] >= average && <= 59 && > 0)
printf("F - %d\n", grades[i]);
else
printf("F - *%d\n", grades[i]);
}