This program is to support the client-side of an airline reservation system for airline reservation agents. The program does not manage user accounts, it only shows status of the flights. It allows the reservation agent to perform basic functions such as book and cancel reservations, display information such as boarding passes and seat assignments on the flight.
NOTE: All data for flights, passengers, etc. should be read from a file at the start of the program. The program should only save data back to file when given a command by the user and when the program is exiting.
The system should allow a user to perform the following functions:
The airline has two types of aircraft. The type A plane irst has 5 rows. Each row has seats A, B, C, and D arranged as the following (The aisle is indicated with an X):
1A 1B X 1C 1D
2A 2B X 2C 2D
3A 3B X 3C 3D
4A 4B X 4C 4D
5A 5B X 5C 5D
The second ptype of plane has 5 rows with seats A, B, and C in the following configuration:
1A X 1B 1C
2A X 2B 2C
3A X 3B 3C
4A X 4B 4C
5A X 5B 5C
The airline flies between the following cities:
ATL Atlanta
ORL Orlando
DFW Dallas/Fort Worth
NYC New York City
HAW Hawaii
CHI Chicago
LAX Los Angeles
The flight schedule is the same every day of the week. The following table contains the flight information to be used for reservations:
From To Depart Time Arrival Time Flight number Aircraft type Frequent Flyer points
HAW LAX 04:15 15:15 602 A 1000
NYC DFW 9:00 11:30 1201 B 500
NYC DFW 12:00 14:30 1202 B 500
NYC DFW 16:00 18:30 1203 B 500
NYC CHI 10:12 12:12 902 A 500
NYC CHI 18:24 20:24 903 A 500
NYC ORL 11:30 1:00 202 B 700
NYC ORL 17:30 19:00 204 A 700
DFW NYC 9:00 11:30 1204 B 500
DFW NYC 12:00 14:30 1205 B 500
DFW NYC 16:00 18:30 1206 B 500
DFW ORL 12:30 15:30 302 B 700
DFW ORL 14:30 17:30 304 A 700
DFW ORL 19:30 22:30 306 B 700
CHI NYC 9:00 11:00 904 B 500
CHI NYC 19:00 21:00 905 A 500
ORL HAW 14:30 1:30 601 B 2000
ORL NYC 8:30 10:30 201 B 700
ORL NYC 14:30 16:00 203 A 700
ORL NYC 19:30 21:20 205 A 700
ORL DFW 9:30 12:00 301 B 700
ORL DFW 13:30 16:00 303 B 700
ORL DFW 17:30 20:00 305 B 700
ORL ATL 09:00 9:31 101 A 500
ORL ATL 11:00 11:31 103 A 500
ORL ATL 13:00 13:31 105 A 500
ORL ATL 15:00 15:31 107 A 500
ORL ATL 17:00 17:31 109 A 500
ATL ORL 08:00 8:31 100 A 500
ATL ORL 10:00 10:31 102 A 500
ATL ORL 12:00 12:31 104 A 500
ATL ORL 14:00 14:32 106 A 500
ATL ORL 16:00 16:30 108 A 500
Your system must make sure that a flight is not overbook, and if a flight is booked it should suggest other flights to the same destination. The boarding pass should include the flight details including the seat number and the number of frequent flyer miles that can be earned.
The input is all done via interactive data entry. You may use menus, commands, etc. The interface is your choice.
Output is done to the screen, but the program should also save all data between execution using one or more files. This means that when the system restarts, the reservations that have been made should reload.