Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

NEED DONE IN JAVA Problem: In preparation for the release of Guardians of the Galaxy 2, you have been hired by the owner of a

NEED DONE IN JAVA

Problem: In preparation for the release of Guardians of the Galaxy 2, you have been hired by the owner of a small

movie theater to develop the backend for an online ticket reservation system. Patrons will be able to reserve

seats in one of three auditoriums. Once the patron has selected an auditorium, the program should display the

current seating arrangement and allow the patron to select seats. A report should be generated at the end of the

program to specify for each individual auditorium and overall for all auditoriums how many seats were

sold/unsold and how much money was earned.

Changes from project 1 are displayed in blue.

Classes

Base Node (Abstract)

o Members

Row (integer)

Seat (integer)

o Methods

Overloaded constructor

Mutators

Accessors

DoubleLinkNode (derived)

o Members

The seats are numbered sequentially from left to right and only the ones digit is displayed above each column to

make it easier to display the chart. It is understood that the second set of digits from 1-0 are for the numbers 11-

20 in the above example.

After the user has selected the auditorium and the seating chart has been displayed, prompt the user for the

following information in the order below:

Row number

Starting seat number

Number of tickets

Assume that the user wants to reserve sequential seats to the right of the first seat entered.

If the desired seats are not available, offer the user the best available seats that meet their criteria in the entire

auditorium (see details above). Prompt the user to enter a Y to reserve the best available or N to refuse the best

available. Once the selection has been processed, return to the main menu.

When prompting the user for input, expect anything. Do not assume any input will be valid. If you ask for a

number, the user could put in a floating point number, symbols or maybe even the Gettysburg Address (or at least

a sentence or two). Make sure that your program handles proper validation. If invalid input is entered, loop until

valid input is received. Consider using exception handling for that task (but it is not required)

User Interface Workflow: To minimize the problems that were introduced between project 1 and the batch run

application, please follow this workflow for your interface. Please do not add extra prompts since this will cause a

mismatch in the input which will either force the program to throw an exception or cause the program to perform

an unintended operation.

Display main menu

Prompt for input

Display auditorium menu (if selection is not exit)

Prompt for input

If user is reserving tickets

o Prompt for row

o Validate loop until valid

Valid row = row number listed in auditorium display

o Prompt for seat

o Validate loop until valid

Valid seat = seat number listed in auditorium display

o Prompt for number of tickets

o Validate loop until valid

Valid ticket number = number >= 0

o If seats unavailable

Display best available

Prompt user to reserve (Y/N)

o If reserved, confirm reservation

o Return to main menu

If user wants to see auditorium

o Display auditorium

o Return to main menu

Loop to top of workflow until user selects exit

Output: At the end of the program, write the current status of each auditorium to the proper file. Also display a

formatted report to the console. The report should consist of 4 columns:

Column 1 labels

o Auditorium 1

o Auditorium 2

o Auditorium 3

o Total

Column 2 - number of all seats reserved for each label

Column 3 - the number of all open seats for each label

Column 4 - the overall total of the ticket sales for each label

PROJECT 1 Refrence:

In preparation for the release of Guardians of the Galaxy 2, you have been hired by the owner of a small

movie theater to develop the backend for an online ticket reservation system. Patrons will be able to reserve

seats in one of three auditoriums. Once the patron has selected an auditorium, the program should display the

current seating arrangement and allow the patron to select seats. A report should be generated at the end of the

program to specify for each individual auditorium and overall for all auditoriums how many seats were

sold/unsold and how much money was earned.

Details

The seating arrangement for each auditorium will be stored in separate files. These files will be named

A1.txt, A2.txt and A3.txt for auditorium 1, 2 and 3 respectively.

Each line in the file will represent a row in the auditorium. The number of rows in each auditorium is

unknown to you.

The number of seats in each row of a single auditorium will be the same. For example, if the first line of

the file has 15 seats, then every subsequent row in the theater will also have 15 seats. This does not

mean that each auditorium has the same number of seats in each row. One auditorium may have 15

seats per row and another may have 20 seats.

Each auditorium will be held in a two-dimensional array.

Empty seats are represented by a pound sign (#).

Reserved seats are represented by a period (.).

Tickets can only be reserved the day of the screening and all screenings are at 7 PM that night. There is

no need to worry about multiple screenings or reserving seats on a specific day.

All tickets are $7 regardless of patron age or auditorium.

User Interface and Input: Present a user-friendly menu system for the user to select the auditorium. First ask for

the auditorium:

1. Auditorium 1

2. Auditorium 2

3. Auditorium 3

4. Exit

Although in reality the user would likely only make one purchase, for testing purposes, assume the user will

repeat the ticket buying process until they decide to quit.

Once the auditorium has been selected, display the current seating availability for that auditorium. An example

seating chart is provided below for an auditorium with 5 rows and 20 seats per row.

12345678901234567890

1 ...##..#####........

2 ########....####..##

3 .........##.........

4 #.#.#.#.#.#.#.#.#.#.

5 ########.#####.#####

The seats are numbered sequentially from left to right and only the ones digit is displayed above each column to

make it easier to display the chart. It is understood that the second set of digits from 1-0 are for the numbers 11-

20 in the above example.

After the user has selected the auditorium and the seating chart has been displayed, prompt the user for the

following information in the order below:

Row number

Starting seat number

Number of tickets

Assume that the user wants to reserve sequential seats to the right of the first seat entered.

If the desired seats are not available, offer the user the best available seats that meet their criteria on that row

only. The best available seats are the seats closest to the middle of the row. Prompt the user to enter a Y to

reserve the best available or N to refuse the best available. Once the selection has been processed, return to the

main menu.

All input will be of the valid data type. You do not have to worry about the user entering a letter when a number

is expected or a floating point number when an integer is expected. You are responsible for validating that the

data falls within the proper range and that a user does not try to reserve a seat that is already reserved.

Output: At the end of the program, write the current status of each auditorium to the respective file. Also,

display a formatted report to the console. The report should consist of 4 columns:

Column 1 labels

o Auditorium 1

o Auditorium 2

o Auditorium 3

o Total

Column 2 - number of seats reserved for each label

Column 3 - the number of open seats for each label

Column 4 - the total of the ticket sales for each label

I NEED the code for project 3

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

Advances In Database Technology Edbt 88 International Conference On Extending Database Technology Venice Italy March 14 18 1988 Proceedings Lncs 303

Authors: Joachim W. Schmidt ,Stefano Ceri ,Michele Missikoff

1988th Edition

3540190740, 978-3540190745

More Books

Students also viewed these Databases questions

Question

What is Ramayana, who is its creator, why was Ramayana written?

Answered: 1 week ago

Question

To solve by the graphical methods 2x +3y = 9 9x - 8y = 10

Answered: 1 week ago

Question

Why does sin 2x + cos2x =1 ?

Answered: 1 week ago

Question

What are DNA and RNA and what is the difference between them?

Answered: 1 week ago