Question
please use C++ OOP please copy and past full code follow this code sample #include #include using namespace std; // The declaration for class 'Contact'
please use C++ OOP please copy and past full code
follow this code sample
#include
#include
using namespace std;
// The declaration for class 'Contact' is fully given. Do nothing to it.
// As for other classes, the declaration are partially given. Complete the rest.
class Contact
{
string email;
string phone;
public:
Contact(string e = "", string phone = "");
string getEmail() const;
void setEmail(string e);
string getPhone() const;
void setPhone(string p);
void displayInfo() const;
};
class Student
{
public:
Student(string n = "");
};
class Mentee
{
public:
Mentee(string n = "", string e = "", string p = "", int l = 0);
};
class Mentor
{
public:
Mentor(string n = "", string x = "");
};
//-------------------------------------------------------------------------------------------------------------
//Definition for the class 'Contact' is fully given. Do nothing to it.
Contact::Contact(string e, string p) : email(e), phone(p) {}
string Contact::getEmail() const { return email; }
void Contact::setEmail(string e) { email = e; }
string Contact::getPhone() const { return phone; }
void Contact::setPhone(string p) { phone = p; }
void Contact::displayInfo() const { cout
int main()
{
system("pause"); //Uncomment this line if you are using VS Code
return 0;
}
Question [100 Marks A school wants to store information about its students joining a mentoring programme that the school currently runs. The students are divided into two groups, mentors and mentees. Mentors are more knowledgeable students and offer helps to mentecs. Mentors are chosen from those students with good CPAs. They can mentor only one mentee maximum. Mentee's progress are kept track based on their levels, i.e., from level 1 to 5 where 5 indicates a mastery level. Besides, mentee's contact information will also be stored. Given a class diagaram that models the above problem in Figure I and the details about it the class diagram in Table 3. Answer the questions 1 to 3 below. Note: As for questions 1 and 2 write your answers on papers, and for question 3, write your program using any C++ IDE such as DevCpp. Use the codebase program provided, main.cpp. 1. Determine whether the following classes form any relationship to each other in the context of Object-Oriented Programming (OOP). If so, name the type of relationship, otherwise write No Relationship. a. Student, and Mertor b. Mentor and Montec c. Contact and Mertor d. Menl.ee and Contact e. Contact and Student f. Mentee and student. (12 marks) 3. Implement the class diagram in C++. Separate the class definition from the class declaration within the same file. Accomplish the following tasks in your program. Write your code in the provided codebase program. Note that, some of the code has been given in the codebase program. a. Complete the declaration of all classes. (12 marks) b. Define all the methods of the class Student. ( 6 marks) c. Define all the methods of the class Mentee. (5 marks) d. Define all the methods of the class Mentor. (13 marks) e. In the main function, declare two arrays below: an array of mentees an array of mentors and initialize the arrays with the sample data given in Table 1 and Table 2. (5 marks) Table 1: Sample data for mentee students No Mentee's name Email Phone 1 Abdul Samad asamad892@gmail.com 013-89001000 2 Siti Nurdiana ct.nur@yahoo.com 011-123013456 Level 2 2 2 Table 2: Sample data for mentor students No Mentor's name Expertise 1 Ahmad Kamal Web Programming 2 Siti Aminah Java and C++ f. Declare another array to hold a list of students and fill in the array with all the mentees and mentors created in 3(e). (3 marks) g. Using a loop, print the list created in 3(t). Figure 2 The output should look like as in (2 marks) h. Using the artay created in 3(e), assign the second mentee to the second mentor. (1 mark) i. Using a loop and the array created in 3(c), print the list of mentors and their menice. Print only the names. See Figure 2 for the expected output (3 marks) 3 Student Abbreviations: name Studentin) n: name 1: level e email p: phone expertise mentee getName() setName(n) displayinfo) Mentee Mentor level expertise Menteen, e, p.) Mentorn, x) displayinfo) displayinfo) assignmentee(m) getMentee) Contact email phone Contacte.p) displayinton getEmail setEmail(e) getPhone) setPhone(p) Figure 1: Class diagram 4 Table 3: Description of the members of each class. Description Class Members class Student name Student's name. Student.) A constructor Accessor and mutator methods. ge-Name () and SOL.N() displays the student's information displayTnfo() class Mentee ovo The class attribute indicating the level of progress for each mentee. There are five levels, from 1 to 5, where level 5 indicates mastery level. Mertee () A constructor disp-ayInfo() displays the mentee's information including name, email, phone and level, class Mentor expertise The mentor's area of expertise that he or she can be coaching, e.g., "C++ Programming", "Game Programming", etc. A constructor Mertor) disp aytnfo() displays the mentor's information assignMentee () assigns a mentee to the mentor getMentee () returns the mentee's name of the mentor. Ilowever, if the mentor has not been assigned to any mentee, this method will return an empty string class Contact emai-, phore classs attributes. Contacto A constructor Accessor and mutator methods. getEmail(), sel. Email(), get.Phone () and setPhone () displayInfo() displays the contact information The list of studens Student #1 Mentee's Nane : Abdul Samad Mentee's Email : asamad892dgmail.com Mentea's Phone : 013-8001000 MenLec's Level : 2 8 cucent #2 This student is a mentor Nane : Ahmad Kamal sxpertise : Web Programming information about the Tercee under hin/her: Mentea's Nate : Ibon Samad Menlooly Email us amade92@mail.co.. Menlee's Phone : 013-89001000 Mentee's Level : 2 Output of question 3(g) Student #3 Mentee's Nare : Siti Nordiana Monteo's email iet.nuryadoo.com Mentee's Phone : 011 123013456 Menter's Tieve Scudent 4 his student is a mentor Nare . : Siti Aminah Expertise : Java and C++ ** No nenlee ye. ** Mentor Mantea Ahmad Kamal Siti Amina Alcdul Samad Siti Nordiana Output of question 3 (i) Figure 2: Program outputStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started