#include #include #include double calcAverage(int grades[], int numGrades); void getGrades(char fName[], int grades[], int *numGrades); int main(int argc, char *argv[]) { const int MAX_STUDENTS = 100; const int PASS_LEVEL = 70; int grades[MAX_STUDENTS]; int numGrades = 0; getGrades(argv[1], grades, &numGrades); printf("the number of grades is %d\n", numGrades); for (int i = 0; i < numGrades; i++) { printf("%d - %d ",i, grades[i]); if (grades[i] >= PASS_LEVEL) printf("passing\n"); else printf("failing\n"); } double average = calcAverage(grades,numGrades); printf ("the average is %f\n", average); printf("Hello everyone!\n"); return 0; } //documentation goes here double calcAverage(int grades[], int numGrades) { double average; int total = 0; for (int i = 0; i < numGrades; i++) total = total + grades[i]; average = total / (double)numGrades; return average; } void getGrades(char fName[], int grades[], int *numGrades) { FILE *fptr; fptr = fopen(fName, "r"); //the r is for read if (fptr == NULL) { printf ("you screwed up!\n"); exit(-1); } else { int grade; char buf[BUFSIZ]; while (fgets(buf,sizeof(buf),fptr)) { char *s = (char *) malloc(strlen(buf)); s = strcpy(s,buf); printf("hey! %s", s); grade = atoi(buf); grades[*numGrades] = grade; (*numGrades)++; } } }