CMSC104, Fall 2008
Programming Project 3
Grade Calculator v2.0
Out: Monday, December 1, 2008
Due Date: Wednesday, December 10, 2008 before 11:59 p.m.
You are going to make some improvements to the grade calculator that you designed in Project 1. Rather than storing each of the grades in individual variables, you are going to use arrays to store your data. You should have an array for each of the different types of grades: homeworks, projects and exams. You are also going to error check the user input. You should use the function GetValidInt() that you used in project 2. You should not have to make any changes to GetValidInt() in order to use it.
- You must use for loops when dealing with the arrays (i.e. when you are reading the grades in from the user.)
- The only function you are required to use is GetValidInt(). If you would like to create and use other functions, you are more than welcome to do so.
- The valid range for grades is 0 to 105.
- The sample output is the same as the sample output for Project 1.
- You should make your program work such that all of the grades do not have to be entered in order to find the average. In other words, the user can get his or her average at any time in the class, instead of just at the end. You should ask the user how many grades have been completed so far (i.e. How many homeworks are complete?) and then allow them to enter the grades. After getting the homework, project and exam grades, you should display the current average in the class. The screenshots below will show the specific prompts.
Extra Credit Screenshots
Asking for number of homeworks
Getting hw1 from user
Getting hw2 from user
Getting hw3 from user
Getting hw4 from user
Asking for number of projects
Getting proj1 from user
Getting proj2 from user
Asking user for number of exams
Getting exam1 from user
Getting exam2 from user
Displaying current average in course
Displaying current letter grade
Submitting the Program
You do not have to do anything to submit the program. It should be in your pub/www/cs104/proj3 directory.