PROGRAMMING ASSIGNMENT #1
Write a C program that determines the minimum grade, maximum grade, median grade and class average of an exam. Your program should first prompt for how many grades, then each of the grades. Your program should test that each value entered is valid (i.e., between 0 and 100). If the grade entered is not valid, the program should issue an error message as shown below, and re-prompt for a correct grade. Once all grades are entered, your program should calculate the minimum grade, maximum grade, and class average, and median for that exam. It will then print the grades listed in Ascending order (sorted).
Your program should store all the grades entered in integer array: grades.
The dialog with the user must look exactly like:
Enter Class Name: Calc I
Welcome to the Calc I Grade Calculator
Enter the number of grades to process (0 – 100): 10
Enter grade for student #1: 80
Enter grade for student #2: 90
Enter grade for student #3: 100
Enter grade for student #4: 85
Enter grade for student #5: 172
*** Invalid grade entered. Please enter 0 – 100. ***
Enter grade for student #5: 72
Enter grade for student #6: 65
Enter grade for student #7: 96
Enter grade for student #8: 70
Enter grade for student #9: 73
Enter grade for student #10: 100
The 10 Grades sorted:
65, 70, 72, 73, 80, 85, 90, 96, 100, 100
The minimum is 65
The maximum is 100
The median grade is 82.5
The Calc I class average rounded is 83
Note: The coral text represents the “output” from your program and is shown for clarity only here. It is not required that your output be in this color. (Do not even attempt to try!). Also note that what the user types in is indicated by the blue area above. Again, for clarity only. Once the user enters a valid number of grades to process, the program should run as described above, but prompt for ONLY the number of grades entered by the user. Do not use the qsort() function from the Standard C Library, it is a 50 point deduction.
*** Sample Algorithm for Assignment #1 ***
Note: This assignment can be solved many different ways. This algorithm simply illustrates one possible solution. Please feel free to ignore this algorithm and use your own design to solve this problem if desired.
Prompt for class name
Trap loop to prompt for number of grades n (max 50)
Trap LOOP for each grade (grades – grades[n]) with edits.
Keep running total of “sum” of grades: Add each (good) grade to “sum” of grades.
Calculate average as:
“sum” of grades divided by number of grades.
Sort the stored array in ascending order with a bubble sort.
Print loop to print the sorted array.
Calculate the median.
If odd number entered grade[(n+1)/2]
if even number entered, (grade[n/2] + grade[n/2+1])/2
Display minimum grade.
Display maximum grade.
Display class average.