Modify class GradeBook (GradeBook.cpp, and GradeBook.h) (attached) as follows: a
ID: 3744320 • Letter: M
Question
Modify class GradeBook (GradeBook.cpp, and GradeBook.h) (attached) as follows:
a) Include a second private data member instructorName in the GradeBook class. It represents the course instructor’s name. The data type of the instructorName is a string.
b) Create a new setInstructorName function in the GradeBook class. The function sets the instructor name. It accepts a string argument and does not return anything.
c) Create a new getInstructorName function in the GradeBook class. The function retrieves the instructor name. It does not accept any argument and returns one string data.
d) Modify the constructor to accept two parameters—one for the course name and one for the instructor’s name.
e) Modify member function displayMessage such that it will display the welcome message and course name, then outputs "This course is presented by: " followed by the instructor’s name.
f) Adjust all the necessary statements in the GradeBook.cpp file to display the required space(s) and line space(s).
The CISP400V10A1.exe file is an executable file. You can double click the file to get to the expecting result of this assignment. The GradeBook.h and GradeBook.cpp are bases for you for this program. So, you don’t need to start from scratch but please remove all the non-related information for this assignment. The CISP400V10A1.cpp is a driver program for you to test the required assignment implementation
Put the your (modified or completed) GradeBook.h , GradeBook.cpp and CISP400V10A1.cpp(attached) file in a project you can compile the project and run to the following result. Please be awarded that you can adjust only your program (GradeBook.h , GradeBook.cpp) to generate the required result.
Please modify the following code:
// GradeBook.cpp
// GradeBook member-function definitions. This file contains
// implementations of the member functions prototyped in GradeBook.h.
#include <iostream>
#include "GradeBook.h" // include definition of class GradeBook
using namespace std;
// constructor initializes courseName with string supplied as argument
GradeBook::GradeBook( string name )
: courseName( name ) // member initializer to initialize courseName
{
// empty body
} // end GradeBook constructor
// function to set the course name
void GradeBook::setCourseName( string name )
{
courseName = name; // store the course name in the object
} // end function setCourseName
// function to get the course name
string GradeBook::getCourseName() const
{
return courseName; // return object's courseName
} // end function getCourseName
// display a welcome message to the GradeBook user
void GradeBook::displayMessage() const
{
// call getCourseName to get the courseName
cout << "Welcome to the grade book for " << getCourseName()
<< "!" << endl;
} // end function displayMessage
// gradebook. h file
/ GradeBook.h
// GradeBook class definition. This file presents GradeBook's public
// interface without revealing the implementations of GradeBook's member
// functions, which are defined in GradeBook.cpp.
#include <string> // class GradeBook uses C++ standard string class
// GradeBook class definition
class GradeBook
{
public:
explicit GradeBook( std::string ); // constructor initialize courseName
void setCourseName( std::string ); // sets the course name
std::string getCourseName() const; // gets the course name
void displayMessage() const; // displays a welcome message
private:
std::string courseName; // course name for this GradeBook
}; // end class GradeBook
Explanation / Answer
Solution:
Note: Modified Code is shown in Bold+Underline
// GradeBook.h
// GradeBook class definition. This file presents GradeBook's public
// interface without revealing the implementations of GradeBook's member
// functions, which are defined in GradeBook.cpp.
#include <string> // class GradeBook uses C++ standard string class
// GradeBook class definition
class GradeBook
{
public:
explicit GradeBook( std::string ); // constructor initialize courseName
void setCourseName( std::string ); // sets the course name
std::string getCourseName() const; // gets the course name
void setInstructorName(std::string); // sets the instructor name
std::string getInstructorName() const; // gets the instructor name
void displayMessage() const; // displays a welcome message
private:
std::string courseName; // course name for this GradeBook
std::string instructorName; //data member instructorName represents the course instructor's name
}; // end class GradeBook
// GradeBook.cpp
// GradeBook member-function definitions. This file contains
// implementations of the member functions prototyped in GradeBook.h.
#include <iostream>
#include "GradeBook.h" // include definition of class GradeBook
using namespace std;
// constructor initializes courseName with string supplied as argument
GradeBook::GradeBook( string name,string insName): courseName( name ),instructorName(insName) // member initializer to initialize courseName
{
// empty body
} // end GradeBook constructor
// function to set the course name
void GradeBook::setCourseName( string name )
{
courseName = name; // store the course name in the object
} // end function setCourseName
//function to set instructor name
void GradeBook::setInstructorName(string name)
{
instructorName=name; //store instructor name in the object
}//end function setInstructorName
// function to get the course name
string GradeBook::getCourseName() const
{
return courseName; // return object's courseName
} // end function getCourseName
//function to get instructor name
string GradeBook::getInstructorName()const
{
return instructorName;//return object's instructor name
}//end function getInstructorName
// display a welcome message to the GradeBook user
void GradeBook::displayMessage() const
{
// call getCourseName to get the courseName
cout << "Welcome to the grade book for " << getCourseName()
<< "!" << endl;
cout << "This Course is presented by: " <<getInstructornName() << "." <<endl;
} // end function displayMessage
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.