#include #include #include double calcAverage(int grades[], int numGrades); void getGrades(char fName[], int grades[], int *numGrades); int main() { const int MAX_STUDENTS = 100; const int PASS_LEVEL = 70; //int grades[] = {42, 11, 100, 93, 70}; int grades[MAX_STUDENTS]; int numGrades = 0; getGrades("grades.txt", grades, &numGrades); printf("the number of grades is %d\n", numGrades); for (int i = 0; i < numGrades; i++) { printf("%d - %d\n", i, grades[i]); if (grades[i] >= PASS_LEVEL) printf("Passing!\n", grades[i]); else printf("youare a loser!\n"); } double average = calcAverage(grades, numGrades); printf ("the average is %f\n", average); printf("Hello World!! \n"); printf("next line\n"); return 0; } void getGrades(char fName[], int grades[], int *numGrades) { FILE *fptr; fptr = fopen(fName, "r"); if (fptr == NULL) { printf("you screwed up!\n"); exit(-42); } else { printf("success!\n"); int grade; char buf[BUFSIZ]; while (fgets(buf, sizeof(buf), fptr)) { //printf("%s", buf); // //this code isn't really part of the averager char *s = (char *) malloc(strlen(buf)); s = strcpy(s, buf); printf("hey! %s", s); grade = atoi(buf); grades[*numGrades] = grade; (*numGrades)++; //printf("numGrades is %d\n", *numGrades); } } } double calcAverage(int grades[], int numGrades) { int total = 0; for (int i = 0; i < numGrades; i++) total = total + grades[i]; return total / (float) numGrades; }