$30
Data Structures
Assignment-2
Delta Airlines maintain four schedule flights per day numbered 100,200,300,400. For each of
these flight, they keep a list of passengers as an ordered linked list. The passenger has his/her
first name, last name, address, phone number. The database for the airline can be viewed as
follows:
The database is required to keep the passengers sorted by their last namesin ascending order.
You are asked to write a C++ program that sets up and maintain the database by handling the
following commands
ADD, DELETE, SEARCH, LIST, QUIT
Here are the further requirements for the application.
• Create a subclass OrderedLinkedList.h which inherits from LinkedList.h
• Override insert, delete and search functions in OrderedLinkedList. You are
allowed to modify LinkedList.h if necessary.
• Using the header files OrderedLinkedList.h and LinkedList.h, make sure the
passengers are stored as an ordered linked list: sorted by ascending order using
passenger’s last name
• Write an application that reads the command from the user and performs the
operation
• if the user wants to ADD a new passenger, ask the user to input flight number and also
passenger information. Then insert passenger into the appropriate location in the
ordered linked list using passenger’s last name.
• if the user wants to DELETE a passenger, ask the user to input flight number and also
passenger last name. Then remove passenger from the linked list of that flight
• if the user wants to SEARCH a passenger, ask the user to input passenger last name
and first name. Then search the user in all flights. If found, print the passenger’s flight
CS 300 Data Structures
Assignment-2 October 13, 2017
Dr. Fatma Cemile Serce 2
number together with his/her info. Assume that first name and last name uniquely
identifies the passenger.
• if the user wants to LIST the passengers, ask the user to input flight number. Then print
the flight number and the list of passengers sorted by their last names including all
passenger’s info.
• Make sure user enters valid input, otherwise prompt an error message
o Any non-numeric input for flight number is invalid
o Any numeric input for name and surname is invalid
o Any value other than 100, 200, 300 and 400 for flight number is invalid
o There is no validity check required for address and phone!
A sample run:
***DELTA AITLINES ***
Please choose an operation:
A(Add) | S (Search) | D(Delete) |L(List) |Q(Quit): A
Enter flight number: 100
Enter first name: MARY
Enter last name: SMITH
Enter address: 12345 NE 50th St Bellevue WA
Enter phone: +14255062396
A(Add) | S (Search) | D(Delete) |L(List) |Q(Quit): A
Enter flight number: 100
Enter first name: FATMA
Enter last name: SERCE
Enter address: 12345 SE 48th St Issaquah WA
Enter phone: +14251234567
A(Add) | S (Search) | D(Delete) |L(List) |Q(Quit): S
Enter last name: SMITH
Enter last name: MARY
Flight Number: 100
First name: MARY
Last name: SMITH
Address: 12345 NE 50th St Bellevue WA
Phone: +14255062396
A(Add) | S (Search) | D(Delete) |L(List) |Q(Quit): L
Enter flight number: 100
FATMA SERCE [12345 SE 48th St Issaquah WA] [ +14251234567]
MARY SMITH [12345 NE 50th St Bellevue WA] [ +14255062396]
…
A(Add) | S (Search) | D(Delete) |L(List) |Q(Quit): D
CS 300 Data Structures
Assignment-2 October 13, 2017
Dr. Fatma Cemile Serce 3
Enter flight number: 100
Enter last name: SMITH
Enter last name: MARY
The passenger is deleted.
A(Add) | S (Search) | D(Delete) |L(List) |Q(Quit): Q
Hint: How to implement inheritance and override functions in subclasses in C++?