C++ Assignment 5 - 45049

Request Posted by
crash0625

crash0625

Rating : No Rating
Earned: $0
Request Detail
Price: $50
  • From: Computer Science, Programming
  • Due on: Wed 26 Feb, 2014 (12:06am)
  • Asked on: Wed 26 Feb, 2014
  • Due date has passed, but you can still Post Solution.
Description

This assignment has you work with classes. You will also have a program that is compiled from
multiple files.

It is a variation of the previous assignment.

INSTRUCTIONS
Create a project in Visual C++ Express named Assignment5 and add the files described below.
Important note: Implement the code using classes. Do not use structs in this assignment. In
the code, define two classes:
• The first class represents a single student. Create a header file to hold the specification of
your student class. The class should have the following member variables:

o First name: a string o Last name: a string o A-­?number: a string
o Number of courses: an integer

o GPA: a double
The class should also define the following member functions:

o One constructor that takes 4 parameters: initial values for the first name, last name,
A-­?number, and number of courses. Make sure to initialize all member variables.

o A setter/accessor method for each member variable.
o A getter/mutator method for each member variable.

Once the specification is complete, implement the constructor, all the setter/accessor
methods, and all getter/mutator methods in a cpp file other than pass5.cpp.


• The second class represents an academic course that has been taken by the student.
Create a header file to hold the specification of your course class. The class should have the
following member variables:

o Course number: an integer
o Course name: a string o Credit hours: integer o Letter grade: a char
The class should also define the following member functions:

o A constructor that takes no parameters and initializes the course number to 0, the name to
“NONE”, the hours to 0, and the letter grade to ‘X’

o A constructor that takes 4 parameters: initial values for each member variable and use these
values to initialize the member variables.

o A setter/accessor method for each member variable. In total, there will be four of these methods

o A getter/mutator method for each member variable. In total, there will be four of these methods.

o Add another method getPointGrade().

? This method should return an int

? This method should have no parameters.

? The value returned in the point value for the letter grade. For example, if you have a Course
object that has the letter grade ‘A’, calling this method would return 4.

? A letter grade can be converted to point grade. A point grade is the numerical value for a letter
grade. A is 4, B is 3, C is 2, D is 1, F is 0.
If the letter grade is ‘X’, that is uninitialized, the method should return -­?1. Once the
specification is complete, implement the constructor, all the setter/accessor
methods, and all getter/mutator methods in a cpp file other than pass5.cpp.


After the classes are defined, implement the following functions in pass5.cpp. They will be similar
to the previous assignment but will need to use the classes’ methods instead of accessing the
member variables directly.

Note: You will define a lot of methods in the classes, but you will not use them all in pass5.cpp.
Choose which methods to use based on what you are trying to do.

• Define the function readStudent()

o It should not have any parameters
o It should prompt use user for the student’s info

• Define the function readCourseArray()

o Use the student’s number of courses to set up an array.
o Prompts the user for information about each course the student has taken: the course name, the
course number, the credit hours, and the student’s letter grade.

• Define the function computeGPA()

o Does not return a value o Does not print anything o Has two parameters:
? a single student,

? an array of courses

o Go through the array and compute the student’s GPA. Here’s how to calculate the GPA:

? Calculate the points for each course by multiplying the credit hour for that course by the point
grade for the course.

• A letter grade can be converted to point grade. A point grade is the numerical value for a
letter grade. A is 4, B is 3, C is 2, D is 1, F is 0.

? GPA is (total of all points)/(total of all credit hours)

? For example, suppose a student had these grades: A in a 3-­?hour course
B in a 3-­?hour course A in a 2-­?hour course
The GPA for this student would be calculated like this: ((A * 3) + (B * 3) + (A * 2) )/ (3 + 3 + 2)
=
((4 * 3) + (3 * 3) + (4 * 2) )/ (3 + 3 + 2) =

(12 + 9 + 8)/ (3 + 3 + 2) = 29/8 = 3.625 GPA

o NEW REQUIREMENT: there should be no if or switch in this method for computing the points of a
letter grade. Use the getPointGrade() in the course class.


• Define the function printSummary()

o Does not return a value o Does all report printing o Has two parameters:
? a pointer to a single Student,

? a pointer to an array of Course elements

o Print the information about the student and each course the student has taken.
? When printing the grade for a course, print both letter grade and the point value. For example,
if the student got an A in the course, print that the grade was an A and its point value was 4

o The output should be lined up in nice columns.

o NEW REQUIREMENT: there should be no if or switch in this method for computing the points of a
letter grade. Use the getPointGrade() in the course class.

• In main()

o Use setupStudent() to get info about a student

o Use readCourseArray() to get info about the courses a student has taken.

o Use computeGPA() to compute the student’s gpa
o Output the result with printSummary()

o Main should not print anything, or compute anything. It should just declare variables and use
your function.

• Additional requirements

o Do not use any global variables. Every variable must either be a local variable or a parameter to
a function.

o Do not use goto. Use for-­?loops, while-­?loops, and do/while loops.
o Do not use inline member functions in the classes. Specifications for classes should be in the .h
files and all constructor and member function implementations should be in the .cpp files.

o All member variables should be private. All member functions should be public.

o In the end, you should have 5 files:

? a header file for the student

? a cpp file for the student

? a header file for the course

? a cpp file for the course

? pass5.cpp which will have the main()


Sample Run
Your output should look similar to the following. Things in bold are typed by the user.

Welcome to the GPA Calculator Tool!

Enter student A number: A00000123 Enter student first name: Arthur Enter student last name: Dent
Enter student number of courses: 3

Enter class 1 number: 1010
Enter class 1 number: Intro to Programming
Enter class 1 hours: 3
Enter class 1 grade: A

Enter class 2 number: 2010
Enter class 2 number: More Programming
Enter class 2 hours: 3
Enter class 2 grade: B

Enter class 3 number: 3333
Enter class 3 number: Programming Project
Enter class 3 hours: 2
Enter class 4 grade: A
Computing...........DONE!!! REPORT
---------------------------------

STUDENT
A-NUMBER NAME NUM COURSES GPA
A00000123 Arthur Dent 3 3.625
COURSES
NUMBER NAME HOURS GRADE POINTS
1010 Intro to Programming 3 A 4
2010 More Programming 3 B 3
3333 Programming Project 2 A 4

Computer Science
2 Solution for C++ Assignment 5
Title Price Category solution By purchased  
C++....................
$48.00 no category varsharani 0 time(s)
Assignment 5................
$50.00 no category hunain60 1 time(s)
Please Login or Register to Submit the Solution for the Request