Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

can you fix my documantation with the following requirments and add two different and new classes that will inherite UndergraduateStudent class and two new and

can you fix my documantation with the following requirments and add two different and new classes that will inherite UndergraduateStudent class and two new and different classes that will be inherited by PostgraduateStudent class so that there will be 3 different levels of class hierarchy. Also give me the figure of the tree with the 3 levels of classes :Uses at least a three-level hierarchy of classes exploring inheritance, where at least one
function is polymorphic (virtual) and the polymorphic properties are essential for the driver
program.
Loads the initial data from input file(s), as opposed to having it hard-coded in the driver
program.
Uses data structures to organize collection(s) of objects, e.g., single collection of different kind
of objects organized by exploring the polymorphic definition of the behavior of the different
objects.
Uses algorithms to manipulate collection(s), with evaluated and optimal algorithm quality.
(1) You may choose data structure(s) among the studied during the course. In that case, you do not need to
perform algorithms performance evaluation.
(2) You must use effective algorithms as studied in class. For example, using bubble sort or any other O(N2)
algorithms will result immediately with 10% lower grade for the entire project
And here is the documentation:-I am going to create a Student Record System that manages information about students, their courses, and grades.
1. Class Hierarchy:
-I am going to design a base class Student with attributes like student ID, name, and contact details:
Properties:
-`studentID`- A unique identifier for the student (e.g., string or integer).
-`name`- The student's full name (e.g., string).
-`contactDetails - A structure or class holding contact details like email, phone number, etc. (e.g., dictionary or custom class).
Methods:
-`displayDetails()`- Virtual function to return a string containing the essential information about the student, like their ID, name, and contact details.
-Polymorphism
In my code, you'll notice the displayDetails() method, showcasing the concept of polymorphism. I've declared it as virtual in the base class and overridden it in the derived classes. This setup enables the system to choose the right method depending on the object's class during runtime
-After that, I will derive two classes from Student: UndergraduateStudent and PostgraduateStudent. Each class should have specific properties related to their student type. I am going to override the displayDetails() function in each derived class to include type-specific details.
Properties (UndergraduateStudent):
- Inherits studentID, name, contactDetails from Student.
- Additional properties specific to undergraduate students, e.g., program, year.
*Properties (PostgraduateStudent):*
- Inherits studentID, name, contactDetails from Student.
- Additional properties specific to postgraduate students, e.g., researchArea, supervisor.
Methods (for both):
-`displayDetails()`-Will override the base class method to include additional details specific to the student type, such as their program or research area.
-I will introduce a third-level class StudentRecordManager that manages and processes the student records. This class can handle operations like searching for students based on certain criteria within their descriptions.
Properties:
-students`- A collection (e.g., vector or array) to hold objects of type Student`, which can include both UndergraduateStudent and PostgraduateStudent objects.
Methods:
-addStudent(Student)`- Add a new student record to the collection.
2. Data Loading:
- I am going to import student data from input files, each of which corresponds to a distinct student type (postgraduate or undergraduate). A student's details can be represented by each line in the file.
3. Data Structures:
- To arrange student collections, I will use data structures like vectors or arrays. To enable the application to manage both kinds of students with ease, I am going to create a single collection that can hold objects of the basic class, Student.
4. Algorithms:
- To manipulate student records, I will implement algorithms in the StudentRecordManager class. Then, I will sort students according to their ID or GPA, for example, this can be accom-plished by using sorting algorithms. I am going to create a search algorithm that examines the displayDetails() output to locate particular students in the collection based on predetermined standards. I will also implement sorting algorithms within sortStudents(by) to organize student records efficiently. I am planning to use standard algorithms like quicksort or mergesort based on the attribute.
5. User Interaction:
- I am going to create a straightforward Student Record System user interface. I will give users the ability to search for students, add new students, remove existing students, and view the complete student database. This system will be practical and accessible because to its user-friendly interface.

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

Students also viewed these Databases questions