Objective: The main objective of this assignment is checking the students’ ability to work with ADTs. In this week's assignment, you will be writing the interface of an ADT in order to conform to the requirements of a larger application.
Description: If you’ve ever been on an airplane, you should have observed the airline personnel boarding passengers in groups. The reason for this is to fill the plane as quickly as possible, while allowing people who have paid more to go in first.
A new airlines company named ODU Airways is developing a new machine to expedite and automate the check-in and seating process. You are hired by the company to write the software which operates the machine. Your task involves writing a C++ program for boarding people (crew & passengers) in the following order:
The machine should start by allowing the crew to get on the airplane. The crew usually needs some time for setting and preparations. Next, the machine will start boarding passengers in order. People with special needs can board at any time. There is a 5% chance a passenger will have special needs. Next boarding group is people from the first class, followed by the business class, then passengers with babies, and finally all passengers categorized into zones (seating from back to front).
The first 3 rows are for first class passengers; next 2 rows are for business class. Rows from 6 to 20 are for economy class. 16 to 20 is zone A, 11 to 15 is zone B, and 6 to 10 is zone C. Each flight typically has a flight crew of 8 people which comprises of 2 pilots, 1 cabin chief, and 5 flight attendants. Your program shouldn’t start boarding the next zone until there are only 3 people left from one zone. So for example if you are boarding zone A, you can’t board anyone in zone B until only 3 people are left from zone A. Flight crew can board at any time.
When boarding crew members, your program should ask for their names and when boarding passengers, it will ask for their seat number. The overbooked seats will be given on a first come first serve basis. For the purposes of this assignment, all crew will have unique names, longer than 3 characters.
Airline companies usually like to overbook first class passengers; in case some passengers do not show up. There’s a 2% chance a passenger won’t show up that applies to each passenger including the overbooked seats. If a passenger who has bought a first class ticket shows up when the first class is full, your program needs to bump them down to economy and give them an empty seat in economy. In the event of bumping someone down, the airline will give the passenger $100 off on their next flight. The airline will overbook at most 2 first class passengers. If any first class passengers get bumped down and take an economy seat, the program first checks for any empty seats in economy and if there isn’t one available, the person who is supposed to sit at that seat will be rescheduled to a later flight and will be given $50 off their next flight.
For the purposes of this assignment, you will need to randomly generate the flight roster. You are provided with the plane scheme, showing the locations of seats. Every passenger and crew member should have a first name, last name. Passengers should have assigned seat numbers while crew should have an id number and duties (pilot, cabin chief, attendant). Each flight will have 2 pilots, 1 cabin chief and 5 flight attendants. The names of the flight crew are available in “crew.txt”.
Help: The best start, for this assignment, is identifying (naming) the ADTs – this is the most critical step. Good decisions (choices) naming the ADTs facilitate the implementation. Please spend enough time thinking about the possible names of the ADTs, which you can use to implement this assignment.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of