You will be creating a grade book that will use arrays to store students and their grades. The breakdown of the project is as follows.
You must be able to add a student, remove a student, edit a student, remove all students, and exit the program.
We are going to assume that each student has 10 possible assignments with a possibility of 10 points per assignment.
You are to develop several classes for this project to use. I will provide the class names, methods required (although you can create additional ones) and a grading rubric so you can coordinate your time accordingly.
The first class that you are to create is your driver class, that is, the one with the main method, and that is all.
Class Name: MidtermDriver
Method Name: main
Parameters: String[] args
Desired Result: Should initiate your midterm project using one method call to another class.
Data Returned: None
The next class that you are to create will be where most of your work is done, and will be the bulk of your grade.
Class Name: Midterm - No constructor needed
Method Name: startProgram
Parameters: None.
Desired Result: This method should control the flow of your program, calling other methods of this class, and others as needed.
Data Returned: None.
Method Name: displayWelcomeMessage
Parameters: None.
Desired Result: Should print welcome message that explains the program briefly. Also include your name and CSC 275 Online Midterm Project
Data Returned: None.
Method Name: displayOptions
Parameters: None.
Desired Result: Print available options for program and read in an integer for their choice. Make sure that ONLY a single digit integer is entered. If something other than an integer is entered you should prompt the user to make a choice again, reinforcing the rules.
Data Returned: User choice of action to take
Method Name: addStudent
Parameters: None.
Desired Result: Prompt the user for student's name, add the student to the array list (global) then have the user add grades for the student, assume 10 assignments with 10 points possible each.
Data Returned: None.
Method Name: removeStudent
Parameters: None.
Desired Result: Prompt the user for student's name then remove the student from the array list
Data Returned: None.
Method Name: editStudent
Parameters: None.
Desired Result: Prompt the user for student's name then edit the student's information. You should prompt the user asking what they would like to edit so that they don't have to edit everything about the student. For example, here is my option menu:
Method Name: removeAllStudents
Parameters: None.
Desired Result: Remove all students from the array list.
Data Returned: None.
Method Name: listAllStudents
Parameters: None.
Desired Result: List all students in your array list and their grades. For example, my output looks like this:
Name 1 2 3 4 5 6 7 8 9 10
Ben Ritter 2.0 8.0 6.0 5.0 7.0 4.0 7.0 3.0 2.0 6.0
Joshua Smith 9.0 8.0 5.0 7.0 4.0 6.0 3.0 7.0 8.0 5.0
Data Returned: None.
The next class that you need to create will be what I call a Virtual Object. It is an object that we are creating so that we can store data in a concise and thoughtful manner. The only thing we want to do here is store data for easy access and referencing from other classes.
Class Name: Student
Default Constructor - Should do nothing
Overridden Constructor - Should create a student with a name and all 10 grades.