You will work this project in teams. There will be four members in each team. Each member in the team will be responsible of writing three functions, the fourth member will act as the driver and will put all the functions together and make sure everything is working properly. Each team will write a program in C++ to implement a simple database. The database shows the students registered in COSC 333. The database will only include the students first name, last name, ID, GPA, and phone number. The students information is listed below.

You will save all the information below in an input file called COSC333.

You will read from the file to perform the operations listed below.

First Name Last Name ID GPA Phone
James Smith 50346 3.4 301 234 5608
Amanda George 53246 3.8 471 222 4567
Lucy Williams 56782 2.6 301 213 7754
Adam Howard 54327 2.8 301 339 5577
George Brown 57021 3.5 301 854 9921
Willy Gates 52178 3.9 571 754 8123
Ashley James 54108 3.8 301 891 2314
Dan Edwards 55321 3.6 410 643 9104
David Sammy 57632 3.9 410 449 3267
Racheal John 56012 1.8 301 981 1205
Brandon Jackson 53786 3.9 301 912 3305
Dina Lowe 51976 3.7 301 832 1750
Brad Green 51742 1.8 410 772 1032
Kevin Day 52876 3.8 571 880 3123
Katty Hill 53906 3.5 301 991 6549
Philips Bush 53316 1.7 301 871 0921
Hellen Edwards 53987 3.9 410 110 1099
Heidi Abraham 58132 3.8 301 330 1212
Brandon Lowe 56196 3.4 301 661 9910
Tiffany Green 51901 2.8 410 221 9966
Edward Smith 54901 1.7 301 334 0675

Display a Menu, so the user would be able to select any of the following operations:

CreateClassList
Insert
Delete
Sort
Search
Update
HonorStudents
WarnStudents
Print
Update
Quit

Your program should include all the following functions:

CreateClassList: To read the students information from the input file and place all students names along with their information in a linked list, in alphabetically order, by last name. Call the print function after you create the list.

Insert: Will insert any first name, last name, ID, GPA, and phone number, in the proper location in the list sorted alphabetically by last name. After insertion, you should show the count of the class. Then print the list after you insert

Delete: You should be able to delete the students record, once you enter students first name followed by last name, or by using the students ID. If the student is not registered in the class, a message should appear indicating that the student is not registered. Show the count of the class after deleting. Then print the list after you delete.

Sort: You should be able to sort the list by first name, GPA, and ID. You could use any sorting algorithm. Then print the list after you sort. You should ask the user how you want to sort, either by first name, or GPA, or ID. When you print, you will have to use a different print function than the one described below, because the one below prints the names sorted alphabetically by last name.

Search: By giving the student ID, you should be able to search for that student in the list. You should return the students first name, last name, ID, GPA, and phone number. If the student is not found in the list, you should print a message indicating so.

Update: You should be able to update the students GPA and/or phone number. So you should be able to ask the user which students information they want to update. The user will provide you with the new GPA and/or phone number. You should show update the students information and print the updated students information.

HonorStudent: Prints the number of students and names of students whose GPA is greater than 3.6.

WarnStudent: Prints the number of students and the names of the students whose GPA is less than 2.0.

Print: Prints all the students information alphabetically, sorted by last name, and the total number of students in the class.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.