Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write a menu based program to maintain student records. Your program should take the following inputs: 1. Student ID (any value between 1000 to 1100)

Write a menu based program to maintain student records. Your program should take the following inputs: 1. Student ID (any value between 1000 to 1100) NO DUPLICATES 2. Student first name (max. 20 characters) 3. Student last name, (max. 20 characters) 4. Student scores (float/double), eg. 85.4 5. Zip code (may be a string) You have to create a structure Student with above information. Then create a Binary Search Tree where each node in the BST contains a Student. Note1: Student ID (left child) < Student ID (parent) < Student ID (right) Your program should be able to take records of a minimum of 5 students. After taking the records, you should provide 7 functionalities to the user. 1. Print records prints records of all students. 2. Add a new record-take a new record from the user for a new student. Create a node for the new student and add it to the BST (Student ID value must satisfy the BST property as provided in Note1). 3. Delete record(s) to delete a record, ask for the last name of the student from the user. If there are multiple students with same last name, you must delete all of their records (you have to delete corresponding nodes and adjust the BST accordingly). 4. Search by Zip code prints records of all students with a given zip code. 5. Search by score range take two scores max, min; and then print records of all students who have scores between [max, min] (inclusive). 6. Find the median score compute the median score and print it. Also, print how many students are above this median score (do not forget to sort the values in the nodes to compute median). 7. Exit the program terminate on a specific input from the user. Let that specific input be an integer of value 0. You should print the record in the following format: First Name: firstname1, Last Name: lastname1, Score: score1 Zip code: code1 First Name: firstname2, Last Name: lastname2, Score: score2 Zip code: code2 . . . You should write each functionality from 1-7 in separate functions. You should provide a menu to the user as following: For inputs: Please indicate number of records you want to enter (min 5): #of records After user gives the number of records, you should inform the user how to enter the records: Please input records of students (enter a new line after each record), with following format first name last name score zip code After user gives the inputs for the records, inform the user about the functionalities: Print records (press 1) Add a new record (press 2) Delete record(s) (press 3) Search by zip code (press 4) Search by score range (press5) Find median score (press 7) Exit the program (press 0) After user chooses functionality, your program performs that and provides this menu again to select another option. This goes on until user presses 0. Instruction: Do not forget to use - malloc for a new node - free to delete it.

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

Concepts of Database Management

Authors: Philip J. Pratt, Mary Z. Last

8th edition

ISBN: 1285427106, 978-1285427102

More Books

Students also viewed these Databases questions