Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

please use C++ OOP please copy and past the full code Question [100 Marks A school wants to store information about its students joining a

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedplease use C++ OOP please copy and past the full code

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) 2. The problem given above involves several OOP concepts including inheritance and polymorphism. a. Explain TWO (2) main roles of the inheritance concept in the above problem. Indicate in which part of the class diagram these roles take place. (16 marks) b. Explain how the concept of polymorphism plays the role in the above problem. (10 marks) c. Identify TWO (2) methods that will be specified as polymorphic. Justify your answer. Finaly, explain how you are going to make these methods polymorphic. (12 marks) 3. Implement the class diagram in Ch. 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) ( 6 marks) a. Complete the declaration of all classes b. Define all the methods of the class Student.. c. Define all the methods of the class Mentee d. Define all the methods of the class Mentor. e. In the main function, declare two arrays below: (5 marks) (13 marks) 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) Phone Table 1: Sample data for mentee students No Mentee's name Email 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 output

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

SQL Instant Reference

Authors: Gruber, Martin Gruber

2nd Edition

0782125395, 9780782125399

More Books

Students also viewed these Databases questions