What grade did you get in your exam?

When students sit exams their total mark for a paper, called a raw mark is converted to a uniform mark scale (UMS). The UMS enables different units to be worth more or less than other units, or marked out of a different number of raw marks. Once all the UMS marks have been calculated, grade boundaries are decided to enable the results for each year to be similar to previous years. This balances one paper being harder than another.

Exam grade

⭐⭐⭐

Make

Write a program that outputs the grade achieved from a mark, and the number of marks needed to achieve the next grade using the data in the table below.

Success Criteria

Remember to add a comment before a subprogram or selection statement to explain its purpose.

Create a subprogram called grade that:

  1. Takes a parameter mark that is an integer.
  2. It returns the grade as outlined in the table:
Mark <2 2 4 13 22 31 41 54 67 80+
Grade U 1 2 3 4 5 6 7 8 9

Create a subprogram called marks_needed that:

  1. Takes a parameter mark that is an integer.
  2. Returns the number of marks needed to achieve the next grade as shown above.

Complete the main program so that:

  1. The user can input a mark.
  2. It outputs the grade achieved.
  3. It outputs the number of marks needed to achieve the next grade.

Typical inputs and outputs from the program would be:

Enter the mark 0-100: 50
A mark of 50 is grade 6
You needed 4 marks to achieve the next grade.

Enter the mark 0-100: 60
A mark of 60 is grade 7
You needed 7 marks to achieve the next grade.

Enter the mark 0-100: 80
A mark of 80 is grade 9
You needed 0 more marks to achieve the next grade.