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 results:

Display minimum grade.

Display maximum grade.

Display median

Display class average.