Lab Steps Step 1: StudentGPAInfo (20 points) You will create a class to store information about a student's courses and calculate their GPA. Your GPA...
Lab Steps
Step 1: StudentGPAInfo (20 points)
You will create a class to store information about a student’s courses and calculate their GPA. Your GPA is based on the class credits and your grade. Each letter grade is assigned a point value as follows:
A = 4 points
B = 3 points
C = 2 points
D = 1 point
Therefore, an A in a 3 unit class is equivalent to 12 grade points (4 for the A times 3 unit class)
A C in a 4 unit class is equivalent to 8 grade points (2 for the C times 4 unit class)
This is a total of 20 grade points. Your GPA is calculated by dividing the total grade points by the total class credits, so in this case:
20 grade points / 7 credits = 2.85 GPA
Create a class called StudentInfo that represents the following information (private data) about a student:
Student name
Total grade points
Total credits
Create the following public member functions. (Note that the program may not require all functions to be used, but they should all exist for a complete class.)
Default constructor to initialize grade points and credits
setName Set value for name
getName Returns the name
addClass receives as input the class units and grade, updates grade points and credits appropriately
getGPA Calculates and returns the GPA
displayStudent Displays all info about student. GPA should be displayed with 2 decimal places of precision (i.e., 3.25).
Note that ONLY student name will be “set” from the outside. The grade points and credits will be modified with the method addClass which takes as parameters the number of units for the class and the grade awarded. This method then adds the appropriate grade points to the total, and also adds the credits to the total.
Write a program to test the class as shown below. You should ask for the student’s name, then allow them to add multiple classes. When done, display the GPA. ALL INPUT SHOULD BE RECEIVED IN MAIN AND PASSED TO THE OBJECT. Use console input/output for this program (NOT JOptionPane).
Note that it will be easier to use String for the grade rather than char since Scanner does not have a method to easily return a char.
Sample Output:
Enter Student name: Joe Smith
Enter class credits: 3
Enter letter grade: A
Another class? y
Enter class credits: 4
Enter letter grade: C
Another class? n
Joe Smith, your GPA is 2.86
Press any key to continue
Grading Rubric
StudentGPAInfo | Points | Description |
Standard header included | 1 | Must contain program's name, student name, and description of the program |
Lab Report | Documents your design process and testing | |
StudentInfo class with required methods | 10 | Methods correctly implemented |
GPATest class, which drives the application, is created | 5 | A driver class with the main method. Input collected and passed to the object. Output displayed correctly |
Subtotal | 20 |
|