Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

A small airline has just purchased a computer for its new automated reservations system. The president has asked you to program the new system. Youll

A small airline has just purchased a computer for its new automated reservations system. The president has asked you to program the new system.

Youll write a C program to assign seats on each flight of the airlines only plane (capacity: 10 seats).

Your program should display the following menu of alternatives:

Please type 1 for first class Please type 2 for economy

If the person types 1, then your program should assign a seat in the first class section (seats 1 5). If the person types 2, then your program should assign a seat in the economy section (seats 6 10). Your program should then print a boarding pass indicating the person's seat number and whether its in the first class or economy section of the plane.

Use an array to represent the seating chart of the plane. Initialize all the elements of the array to 0 to indicate that all seats are empty. As each seat is assigned, set the corresponding element of the array to 1 to indicate that the seat is no longer available.

Your program should, of course, never assign a seat that has already been assigned. When the first class section is full, your program should ask the person if its acceptable to be placed in the economy section (and vice versa). If yes, then make the appropriate seat assignment. If no, then print the message "Next flight leaves in 3 hours."

Part 1: Problem-Solving Phase (40 points)

Using the Design Recipe, write each of the following for this problem:

Contract

Purpose Statement

Examples, making sure to include counter-examples

Algorithm

Make sure to test your algorithm by hand with the examples to verify it before continuing to Part 2.

Part 2: Implementation Phase (60 points)

Using Eclipse, write the C program for the algorithm formulated in Part 1, and test your program with the examples from Part 1. Make sure to incorporate your Contract, Purpose Statement and Examples as one or more comment blocks, and your Algorithm as line comments in your C source code.

You need to implement the following C functions, and using (calling) them in the program (main function):

findEmptySeat(int array[], int start, int end) int function returns the index of the first empty seat in the given int array between the indexes that are >= start and < end; if there are no empty seats, function returns -1

reserveSeat(int array[], int seatNo) function reserves the seatNo in the array, and displays the seat assignment as "Seat number n reserved (first class or economy class)" (see Sample Run below)

displaySeating(int array[]) function displays the current Seat Assignments (see Sample Run below)

Sample Run (user input in color)

Welcome to the Airline Reservation System (ARS) Please type 1 for first class Please type 2 for economy 1 Seat number 1 reserved (first class) Seat Assignments: FC: X _ _ _ _ EC: _ _ _ _ _ 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 2 Seat number 6 reserved (economy class) Seat Assignments: FC: X _ _ _ _ EC: X _ _ _ _ 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 1 Seat number 2 reserved (first class) Seat Assignments: FC: X X _ _ _ EC: X _ _ _ _ 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 1 Seat number 3 reserved (first class) Seat Assignments: FC: X X X _ _ EC: X _ _ _ _ 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 2 Seat number 7 reserved (economy class) Seat Assignments: FC: X X X _ _ EC: X X _ _ _ 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 1 Seat number 4 reserved (first class) Seat Assignments: FC: X X X X _ EC: X X _ _ _ 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 1 Seat number 5 reserved (first class) Seat Assignments: FC: X X X X X EC: X X _ _ _ 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 1 Seat number 8 reserved (economy class) Seat Assignments: FC: X X X X X EC: X X X _ _ 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 2 Seat number 9 reserved (economy class) Seat Assignments: FC: X X X X X EC: X X X X _ 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 1 Seat number 10 reserved (economy class) Seat Assignments: FC: X X X X X EC: X X X X X 1 2 3 4 5 6 7 8 9 10 Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 1 Next flight leaves in 3 hours. Another reservation (y/n)? y Please type 1 for first class Please type 2 for economy 2 Next flight leaves in 3 hours. Another reservation (y/n)? n

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

Flash XML Applications Use AS2 And AS3 To Create Photo Galleries Menus And Databases

Authors: Joachim Schnier

1st Edition

0240809173, 978-0240809175

More Books

Students also viewed these Databases questions