1. Introduction
The objective of this project is to develop an Airline Reservation System.
Green Dot airline has just purchased a computer for its new automated reservation
system. You have been asked to program the new system. You are to write a program to
assign seats on each flight of the airline’s only plane. Assume the plane has 6 rows with 3
seats in each row.
When your program starts, a system menu will be displayed:
GREEN AIRLINE ON-LINE RESERVATION SYSTEM
(A) Reserve a seat
(B) Cancel a reservation
(C) Display Seating arrangement
(D) View Waiting List
(E) Transaction Report
(F) Quit
>> Enter Choice : XX
- Reserve a Seat adds a person to a flight or waiting list
- Cancel a Reservation removes a passenger from a flight or waiting list
- Display Seating arrangement displays the seats occupation and the customer ID
occupying it.
- View waiting list allows viewing of customer IDs who are placed on waiting list
- Transaction Report allows generation of a report containing all transactions taken
place
2. Functional Requirements
2.1 Reserve a seat
When a customer wants to reserve a seat, you should do following:
a) Input a passenger ID
b) Check if any seats are available. If yes, allocate a seat.
c) If seats are not available, check if the customer wants to be put in the waiting list.
If yes, assign the passenger ID to waiting list.
MINI-PROJECT A
Course: Diploma in Engineering Informatics
Module: IT1733 – Principles of Computing
Page 2 of 3
d) Enter time and date of transaction.
For each transaction, a log is generated. The log data will comprise of the following:
Field Description Format
Transaction Code A code to identify type of
transaction
1 - Assign seat
2 – Put on waiting List
3 – Remove from waiting List
4 - Cancel reserved seat
5- Cancel from waiting List
Passenger ID A unique ID which
identifies the passenger
1-9999
Time Time of transaction HHMM
Date Date of transaction DDMMYY
A maximum of 100 transactions can be stored.
2.2 Cancel a reservation
When a customer wants to cancel a reservation, the program will display the
following.:
Cancel Reservation
(A) Cancel Reserved seat
(B) Cancel queue in waiting list
(C) Return to previous screen
>> Enter Choice : XX
a) Request for the passenger’s ID
b) Search for the passenger’s ID and delete it.
c) For (A), if the waiting list is empty, update the seating array so that the seat is
available for the other bookings
d) For (A), if the waiting list is not empty, get the first person in the waiting list who
opted for the same seating category, and allocate the seat to them. The system
can accommodate of maximum of 10 waiting lists.
2.3 Display Seat arrangement
Create your own output screen design to show the seating arrangement.
Seat1 Seat2 Seat3
Row 1: [1223] [3232] []
Row 2: [1211] [1121] []
Row 3: [] [] []
Row 4: [] [3411] []
Row 5: [] [] []
Row 6: [] [] []
Page 3 of 3
2.4 Display the waiting list
Design your output to show the waiting list. The following is an example:
Waiting List [3]:
=====================
1. 1231 140203
2. 1341 140203
3. 2313 150203
2
.5 Transaction Report
A transaction report will be generated when this option is selected. The following will be
displayed: the transaction code, passenger ID, and date and time of transaction. For
example :
Transaction Report
Transaction Code Passenger ID Time Date
1 1223 1130 140203
2 1231 1230 140203
………..
3. Hints
-Array declaration
To keep records of your data, you will need to declare the following 1 Dimensional arrays
to store the following information : passenger ID , waiting list ID, and transaction
information to capture the transaction code, passenger ID, date and time of transaction.
-Modular Program Design
Your program should be designed in a modular manner, using a Structure Chart. As a
guideline, each module that you develop should not comprise more than 30 lines of
pseudo code.
-Decision Making
You are free to make use of If/else, switch/case, while loops, arithmetic, relational and
logical operators in implementing decision making.