Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C++ QUESTION PLS ANSWER ASAP THIS IS THE CODE GIVEN : #include #include using namespace std; // The declaration for class 'Student' is fully given.

C++ QUESTION PLS ANSWER ASAP
image text in transcribed
image text in transcribed
image text in transcribed
image text in transcribed
image text in transcribed
image text in transcribed
THIS IS THE CODE GIVEN :
#include
#include
using namespace std;
// The declaration for class 'Student' is fully given. Do nothing to it.
// As for other classes, the declaration are partially given. Complete the rest.
class Student{
string name;
public:
Student(string n = "");
string getName() const;
void setName(string n);
void print() const;
};
class Mentor{
public:
Mentor(string n, double c);
};
class Coach{
public:
Coach(string n, double c, string e);
};
class Support{
public:
Support(string n, double c, string p);
};
class Mentee{
public:
Mentee(string n, int l);
};
//-------------------------------------------------------------------------------------------------------------
// Definition for the class 'Student' is fully given. Do nothing to it.
Student::Student(string n) : name(n) {}
string Student::getName() const { return name; }
void Student::setName(string n) { name = n; }
void Student::print() const { cout
int main()
{
// system("pause"); // uncomment this line if you are using VS Code
return 0;
}
//
Question [100 Marks A school is currently running a mentoring programme for its students. The students are divided into two groups, mentors and mentees. Mentors are more knowledgeable students and offer helps to mentees. They are chosen from those students with good CPAs. The programme offers two types of mentoring: Coaching-based mentoring: mentors will coach their mentees in particular areas, e.g., "CH+ programming", "Game Programming", etc. Therefore, a mentor must be expert in that area. Support-based mentoring: mentors offer their supports to the mentees without having to meet face to face. Thus, the mentor need to provide their phone numbers. Further, each mentee is assigned with only one mentor. Mentee's progress are kept track based on their levels, i.e. from level 1 to 5 where 5 indicates a mastery level. Given a class diagram that models the above problem in Figure 1 and the details about the class diagram in Table 2. 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. 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 (12 marks) ( 2 marks) (5 marks) (5 marks) (14 marks) a. Complete the declaration of all classes. b. Define all the methods of the class Mentor. c. Define all the methods of the class Coach. d. Define all the methods of the class Support. e. Define all the methods of the class Mentee. f. In the main function, create several objects as follows: a coach-based mentor, a support-based mentor, an array of mentees. Set the objects with the sample data given in Table 1. (6 marks) Table 1: Sample data Mentee's name Abdul Samad Siti Nurdiana Jazlan Kamal Mentee's Mentor Mentoring Type Level 2 Ahmad Kamal Coach-based CPA: 3.87 Expertise: Web Programming 1 -Not assigned vet- 1 Siti Aminah Support-based CPA: 3.98 Phone : 013-89001000 2 Ahmad Kamal Coach-based CPA: 3.87 Expertise: Web Programming Omar Abdullah g. Using a loop, print the list of mentees you created in 3(f). The output should look like as in Figure 2. (2 marks) h. Remove or unassign the mentor from the last mentee. (1 mark) i. Using a loop, print the updated list of mentees and their mentors. Print only the names. See Figure 2 for the expected output. (3 marks) Table 2: Description of the members of each class. Description Class Members class Student name Student () getName() and setName() Student's name. A constructor Accessor and mutator to the attribute. print() prints the student's information class Mentee level 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. Mentee () assignMentor() removeMentor() getMentorName() A constructor assigns a mentor to mentee. unassigns or removes the mentor from a mentee. returns the mentor's name of the mentee. However, if the mentee has not been assigned with any mentor, this method will return an empty string prints the mentee's information including: name and level, mentor's details depending the type of the mentor, i.e. either a coach mentor or a support mentor. However, if the mentee has not been assigned with any mentor, a message "No mentor yet" will be printed instead. print) Mentor's epa. class Mentor Mentor() print) A constructor prints the mentor's information class Coach expertise The mentor's area of expertise that he or she can be coaching, e.g., "C++ Programming", "Game Programming, etc. A constructor Coach() print) prints the coach-based mentor's information including name, cpa and expertise. 5 class Support phone Support) print() The mentor's phone number. A constructor. prints the support-based mentor's information including name, cpa and phone. Student name Abbreviations: n: name level m: mentor expertise p: phone SEO Studenten) getName setName() printo Mentee Mentor level Mentee (n.) Mentorin, c) printo assignMentor(m) removeMentor) getMentorName print() Coach Support expertise phone Supportin.cp) Coach(n, c.e) print() print) Figure 1: Class diagram

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Neo4j Data Modeling

Authors: Steve Hoberman ,David Fauth

1st Edition

1634621913, 978-1634621915

More Books

Students also viewed these Databases questions