Answer must be in C++ Lab 4 Due Date: Sep 26, 2018 Total Points: 15 points The p
ID: 3755886 • Letter: A
Question
Answer must be in C++
Lab 4 Due Date: Sep 26, 2018 Total Points: 15 points The purpose of this lab is to practice working with basic and aggregate or composite classes. Part 1: Design a Course class that contains individual course information and has the following private attributes long string int courseNumber courseName numberOfCredits All class attributes must be private and accessed through public member functions You need to write the following public methods Default constructor that sets courseNumber to 0, courseName to ", and number ofCredits to 0 Overloaded constructor that takes 3 parameters used to initialize the 3 attributes - Set function(s) that set the objects data Print function that displays the object data in a neat fashion After you design your class, write a main program that instantiates 2 Course objects, sets and displays their information as described below: For the first obiect: 1. Ask the user to enter the course number, name and number of credits (the user should enter for example 21541, CS211, and 1 respectively 2. Create the object using the overloaded constructor (and the data from above) 3. Call the print function to print the object data. For example: Course Number: Course Name Number of Credits 1 21541 CS 211 For the second object: 1. Create the object using the default constructor 2. Call the print function to display the second object's data 3. Prompt the user to enter new data for the second object (for example 21345, CS331, and 3) 4. Call the set function(s) to set the object's attributes to the user input 5. Call the print function to display the new object data Note: You must divide your files into.cpp and .h fileExplanation / Answer
Given below is the code for the question.
Please do rate the answer if it was helpful. Thank you
Course.h
--------
#ifndef Course_h
#define Course_h
#include <string>
using namespace std;
class Course{
private:
long courseNumber;
string courseName;
int numberOfCredits;
public:
Course();
Course(long cnum, string name, int credits);
void setCourseNumber(long num);
void setCourseName(string name);
void setNumberOfCredits(int credits);
long getCourseNumber();
string getCourseName();
int getNumberOfCredits();
void print();
};
#endif /* Course_h */
Course.cpp
--------
#include "Course.h"
#include <iostream>
using namespace std;
Course::Course(){
courseNumber = 0;
courseName = "";
numberOfCredits = 0;
}
Course::Course(long cnum, string name, int credits){
courseNumber = cnum;
courseName = name;
numberOfCredits = credits;
}
void Course::setCourseNumber(long num){
courseNumber = num;
}
void Course::setCourseName(string name){
courseName = name;
}
void Course::setNumberOfCredits(int credits){
numberOfCredits = credits;
}
long Course::getCourseNumber(){
return courseNumber;
}
string Course::getCourseName(){
return courseName;
}
int Course::getNumberOfCredits(){
return numberOfCredits;
}
void Course::print(){
cout << "Course Number: " << courseNumber << endl;
cout << "Course Name: " << courseName << endl;
cout << "Number of Credits: " << numberOfCredits << endl << endl;
}
Instructor.h
------------
#ifndef Instructor_h
#define Instructor_h
#include "Course.h"
class Instructor{
private:
string firstName;
string lastName;
char gender;
long employeeID;
string officeNum;
Course courses[3];
public:
Instructor();
Instructor(string fname, string lname, char gen, long id, string num, Course c[]);
void setFirstName(string name);
void setLastName(string name);
void setGender(char g);
void setEmployeeID(long id);
void setOfficeNum(string num);
void setCourses(Course courses[]);
string getFirstName();
string getLastName();
char getGender();
string getOfficeNum();
long getEmployeeID();
void print();
};
#endif /* Instructor_h */
Instructor.cpp
------------
#include <iostream>
#include "Instructor.h"
using namespace std;
Instructor::Instructor(){
firstName = "";
lastName = "";
gender = ' ';
employeeID = 0;
officeNum = "";
}
Instructor::Instructor(string fname, string lname, char gen, long id, string num, Course c[]){
firstName = fname;
lastName = lname;
gender = gen;
employeeID = id;
officeNum = num;
for(int i = 0; i < 3; i++)
courses[i] = c[i];
}
void Instructor::setFirstName(string name){
firstName = name;
}
void Instructor::setLastName(string name){
lastName = name;
}
void Instructor::setGender(char g){
gender = g;
}
void Instructor::setEmployeeID(long id){
employeeID = id;
}
void Instructor::setOfficeNum(string num){
officeNum = num;
}
void Instructor::setCourses(Course c[]){
for(int i = 0; i < 3; i++)
courses[i] = c[i];
}
string Instructor::getFirstName(){
return firstName;
}
string Instructor::getLastName(){
return lastName;
}
char Instructor::getGender(){
return gender;
}
string Instructor::getOfficeNum(){
return officeNum;
}
long Instructor::getEmployeeID(){
return employeeID;
}
void Instructor::print(){
cout << firstName << " " << lastName << " " << gender
<< " " << employeeID << " " << officeNum ;
for(int i = 0; i < 3; i++)
cout << " " << courses[i].getCourseNumber() << " " << courses[i].getCourseName() << " " << courses[i].getNumberOfCredits();
cout << endl << endl;
}
main.cpp
--------
#include "Course.h"
#include "Instructor.h"
#include <iostream>
using namespace std;
int main()
{
//PART 1
string name;
long num;
int credits;
cout << "Enter course number: ";
cin >> num;
cout << "Enter course name: ";
cin >> name;
cout << "Enter number of credits: ";
cin >> credits;
Course c1(num, name, credits);
Course c2;
cout << "course object c1 has " << endl;
c1.print();
cout << "course object c2 has " << endl;
c2.print();
cout << "Enter data for 2nd course object" << endl;
cout << "Enter course number: ";
cin >> num;
cout << "Enter course name: ";
cin >> name;
cout << "Enter number of credits: ";
cin >> credits;
c2.setCourseNumber(num);
c2.setCourseName(name);
c2.setNumberOfCredits(credits);
cout << endl << "course object c2 has " << endl;
c2.print();
//PART 2
Course c[3] = {Course(21540, "CS211",3), Course(21541, "CS211", 1), Course(21345, "CS331", 3)};
Instructor ins1("Mayssaa", "Najjar", 'F', 2390876, "ACD324", c);
cout << "instructor 1 has the following details:" << endl;
ins1.print();
Instructor ins2;
cout << "instructor 2 has the following details:" << endl;
ins2.print();
cout << endl << "Enter details for instructor 2 " << endl;
string fname, lname, offnum;
long id;
char gen;
cout << "Enter first name: ";
cin >> fname;
ins2.setFirstName(fname);
cout << "Enter last name: ";
cin >> lname;
ins2.setLastName(lname);
cout << "Enter gender (M/F): ";
cin >> gen;
ins2.setGender(gen);
cout << "Enter id: ";
cin >> id;
ins2.setEmployeeID(id);
cout << "Enter office num: ";
cin >> offnum;
ins2.setOfficeNum(offnum);
for(int i = 0; i < 3; i++){
cout << "Enter detail for course " << (i+1) << endl;
cout << "Enter course number: ";
cin >> num;
cout << "Enter course name: ";
cin >> name;
cout << "Enter number of credits: ";
cin >> credits;
c[i].setCourseNumber(num);
c[i].setCourseName(name);
c[i].setNumberOfCredits(credits);
cout << endl;
}
ins2.setCourses(c);
cout << "instructor 2 has the following details:" << endl;
ins2.print();
}
output
-----
Enter course number: 21541
Enter course name: CS211
Enter number of credits: 1
course object c1 has
Course Number: 21541
Course Name: CS211
Number of Credits: 1
course object c2 has
Course Number: 0
Course Name:
Number of Credits: 0
Enter data for 2nd course object
Enter course number: 21345
Enter course name: CS331
Enter number of credits: 3
course object c2 has
Course Number: 21345
Course Name: CS331
Number of Credits: 3
instructor 1 has the following details:
Mayssaa Najjar F 2390876 ACD324 21540 CS211 3 21541 CS211 1 21345 CS331 3
instructor 2 has the following details:
0 0 0 0 0 0 0
Enter details for instructor 2
Enter first name: Michelle
Enter last name: James
Enter gender (M/F): F
Enter id: 2390878
Enter office num: SBSB3024
Enter detail for course 1
Enter course number: 24540
Enter course name: CS111
Enter number of credits: 3
Enter detail for course 2
Enter course number: 24541
Enter course name: CS111
Enter number of credits: 1
Enter detail for course 3
Enter course number: 22275
Enter course name: CS351
Enter number of credits: 3
instructor 2 has the following details:
Michelle James F 2390878 SBSB3024 24540 CS111 3 24541 CS111 1 22275 CS351 3
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.