Question: using (C++) Purpose 1. Learn to implement linked list for a real-world problem. 2. Learn how to implement a recursive method for a real-world problem

 using (C++) Purpose 1. Learn to implement linked list for areal-world problem. 2. Learn how to implement a recursive method for areal-world problem Objective: The primary objective of this program is to implementa linked list and to practice recursion Program Description: Write a programto save a list of students records and then perform several operationson this list Your program will ask user to choose the option

using (C++)

Purpose 1. Learn to implement linked list for a real-world problem. 2. Learn how to implement a recursive method for a real-world problem Objective: The primary objective of this program is to implement a linked list and to practice recursion Program Description: Write a program to save a list of students records and then perform several operations on this list Your program will ask user to choose the option from menu The 5 major function in menu are: ADDSTUDENT STUDENTINFO id DELETESTUDENT id FINDLARGEST PRINTLIST REVERSEPRINTLIST Exit w it Works The menu is handled by do while and switch statement. Sample output Ttittttt tttt** *++* STUDENT MANAGEMENT SYSTEM**** 1-=>Press '1" to ADDSTUDENT: --->Press '2' to STUDENTINFO id : B--->Press "3" to DELETESTUDENT id: 4--->Press 4' to FINDLARGEST: --->Press "5' to PRINTLIST: --->Press "6" to REVERSEPRINTLIST: 1--->Press "7' to exit: Implementation: For this program you will create the following classes: Student.cpp: This class will be used to create objects of type student. Each student object will store student information (name, ID, GPA). StudentList.cpp: This class will be used to create a linked list with nodes of type Student. All the methods will be implemented in this class. Projectl.cpp: This is the class that will contain main The Methods to be implemented are as follows: 1. ADDSTUDENT This method will add a new student to the list. It takes 3 parameters ( student name, id, and GPA). Your program must ask the user to enter the details of new students: Name, ID and GPA Example Input: ADDSTUDENT Rana Salah 1000000 4.2 Example Output: The student record was added successfully 2. STUDENTINFO id This method will search for a student with his/her id. If the student is found it will print her/his record to the output. If the student is not found it will print "There is no record of this student in this system" Example Input: STUDENTINFO 1712371 Example Output: Student name=Raged Alshihri Student ID=1712371 Student GPA-4.5 3. DELETESTUDENT id This command will be followed by an integer id. To implement this command, you have to iterate over the linked list of students you created and delete the student (node). If the student is not found, the command will print "There is no student with the id "#******** in the system." Example Input: DELETESTUDENT 1212371 Example Output: The student record was deleted successfully 4. FINDLARGEST This command will print the information of the student with the largest GPA Example Input: FINDLARGEST Example Output: The student with the largest GPA is: Student name=Nada Alahmadi Student ID-1612371 Student GPA-4.7 5. PRINTLIST This command will print all the student records. Example Laput: PRINTLIST Example Output: The list of students in the system are: 1 - Student name Rann Salah Student ID-1000000 Student GPA 4.2 2 - Student name Reem Ahmad Student ID-1020000 Student GPA-3.2 3. Student nameEnas Algarni Student ID-1112371 Student GPA-33 and so on 6. REVERSEPRINTLIST This command will print all the student records in this system in reverse order you should implement this command using recursion Example Input: REVERSEPRINTLIST Example Output: 11 - Student name-Shahad Magrabi Student ID=1812371 Student GPA 4.0 10 - Student name-Gumana Algamdi Student ID=1722371 Student GPA 3.4 9 - Student name-Raged Alshihri Student ID=1712371 Student GPA-4.5 Deliverables: You should submit a zip file with three files inside: 1. Student.cpp 2. StudentList.cpp 3. Projectl.cpp (this is your main program) NOTE: your name, ID, section number AND EMAIL should be included as comments in all files! UML Diagrams: For this program, you will create two Classes (UML diagram shown below) and a third class for the main: Student StudentList head: Student - name: String Id: int - gpa: double constructors and the getters and setters and all other methods you need next: Student constructors and the getters and setters Aoplication as needed main method and any other methods as you need

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!