Design, write, and test a program that represents some of the aspects of a student. As you read the problem description, sketch a UML diagram of the Student class in the handy UML form below. The box will fit the text you type. Refer to page 654 of the Malik book to remind yourself of the UML format.
Type your UML class description here
|
|
|
Your dotNet project should contain three files:
Student.h - The Student class header file
Student.cpp - The Student class implementation file
StudentTest.cpp - A file containing a main( ) to test your Student class.
First you need to describe a Student class which contains the following:
1. the private data members include:
a. the student name - a string
b. the student id - a number
c. the number of courses completed
d. the number of credit hours completed
e. the number of grade points attained
2. the public member functions include:
a. the default constructor - set everything to 0 or the empty string
b. an explicit value constructor - takes student name and student id parameters
c. a method reportGrade - takes the number of credit hours for a completed course and the grade (A,B,C,D,F).
d. a getGPA method - returns the student's current grade point average
e. a display method - outputs all the student data, one item per line including the current GPA.
The reportGrade method takes parameters for the number of credit hours for a course and the letter grade for a course. It does not return any result. This method increments the number of courses completed, adds the number of credit hours for this course to the number of credit hours completed. It calculates the number of grade points earned for the course by multiplying the credit hours for the course by 4 if the course grade is an A, 3 for B, 2 for C, 1 for D, and 0 for F.
The calculated amount of grade points is then added to the grade points attained.
The getGPA method takes no parameters and returns the calculated GPA which is the grade points attained divided by the number of credit hours completed. This should be a double value.
The main program should thoroughly test the student class. Make sure to test both the default and the explicit value constructors. Create two student objects. Display the student information. Report a series of grades on each object and output the GPA after each reported grade. Make sure the GPA is correct. Display the GPA with 2 digits after the decimal point. Finally, display all student information after the grade reporting is completed. The test program does NOT need to be interactive.