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