/* lab 2 B */ #include /* correct the program */ int main(int argc, char *argv[]) { int num_subj; float in_gp, sum_gp = 0.0; char in_grade, grade[10]; int i; /* argv[0] is the name of the program */ printf("This program is %s\n",argv[0]); num_subj = argc-1; printf("There are %d subjects\n",num_subj); for (i = 1; i <= num_subj; i++) { in_grade = argv[i][0]; /* read first character */ switch (in_grade) { case 'A': in_gp = 4.0; break; case 'B': in_gp = 3.0; break; case 'C': in_gp = 2.0; break; case 'D': in_gp = 1.0; break; case 'F': in_gp = 0.0; break; default: printf("Wrong grade %s\n",argv[i]); } if (argv[i][1] == '+') in_gp = in_gp + 0.5; sum_gp = sum_gp + in_gp; } printf("Your GPA for %d subjects is %5.2f\n",num_subj,sum_gp/num_subj); }