##### Reference no: EM13306896

For this program, you are going to modify your previous program so that it will now read multiple inputs for each homework assignment (you will need to have a flag to end inputting assignments), **upto** 3 parts for the midterm exam instead of 1 midterm exam score and exactly two parts for the final exam. It will then calculate the letter grade of the class.

The weight of the assignments and exams are still the same, except that the maximum score will now differ.

- Homework Assignments - Weight is 50
- Midterm exam - Weight is 20
- Final exam - Weight is 30

You will write different functions for this program, as follows:

- One function to read all the input for all the homework assignments, which will then calculate the weighted score for the homework, and return that score.
- One function to read all the grades for the parts of the midterm exam, after which it will calculate the weighted score of the midterm exam and return that score,
- Another function to read the 2 parts of the final exam, which will also then calculate the weighted score of the final exam and return that score.
- One function to take in all the weighted scores for the 3 parts and calculate the letter grade and return the letter grade.
- One function to print the output.

Your function to read all the assignments should do the following:

Until the user indicates that they have finished inputting data, you should read the score for each homework assignment and the maximum possible score for each assignment. Once the user has finished inputting the data, you then need to calculate the weighed score for the homework assignments.

Eg: assume that these values were input:

21 out of 25 possible points

30 out of 30 possible points

10 out of 12 possible points

55 out of 60 possible points

Then your total would be 116 out of 127 possible points. In which case, your weighted score would be 45.67 (116*50/127).