Program 5

 

 

 

 

The Problem:

A common task in computing is to take data and apply changes (called transactions) to the data, then saving the updated data.  This is the type of program you will write.

            You will read a file of flight reservation data to be loaded into an array with a max size of 20.  A second file will hold the transactions that will be applied to the data that has been stored in the array.  At the end of the program, the updated data in the array will be written to a third file.

 

Flight class

This class will hold the information about a flight.  It is responsible for the following data:  flight number, flight date, departure airport, arrival airport, departure time, arrival time, and seat assignment. The date will be in the form mm/dd/yyyy.  The time will be in the form hh:mm PM. This class should include a default constructor and another constructor that will receive data for all of the instance variables.  Also include toString and equals methods. The toString needs to format the data in the form that is needed for output written to the screen in an itinerary. Two Flight classes are considered equal when they have the same flightNumber and flightDate.

 

Reservation class

This class holds all of the information about a reservation for one person.  It will include the passenger’s name (one variable to hold first and last names), reservation number, departure flight and return flight (the flights are objects of the Flight class).  Constructors should include a default constructor and another one that accepts values for all of the instance variables.  Also include toString and equals methods.  The toString needs to format the data in the format of output written to the screen in an itinerary.  Reservations are considered to be equal when they have the same reservation number.


Airline class

This class is responsible for holding the array of reservations and all of the methods to process the transactions.  Transactions are represented in the file with a numeric code as follows:

 

Code

Transaction

1

Add a reservation – all data will be the same format as the reservations that are loaded into the array at the beginning of the program.

2

Print the itinerary of one passenger – Printed to the screen

3

Print the itineraries of all of the reservations – Printed to the screen

4

Write list to file – Writes all of the updated reservations in the list to a file

 

AirlineInput class

There are two input files.  The first file, AirlineData.txt, holds all of the existing reservations.  This should be read at the beginning of the program and stored in an array.  The second file, Transactions.txt,  has the transaction codes and data that is associated with each code.

 

AirlineData.txt format

<passenger name – include first and last name in one variable>

<reservation number>

<departure flight number>

<departure date>

<departure airport>

<arrival airport>

<departure time>

<arrival time>

<seat>

<return flight number>

<return date>

<departure airport>

<arrival airport>

<departure time>

<arrival time>

<seat>

 

 


Transactions.txt format. 

Note:  each type of transaction requires different input. The code will be followed by the data required for that code.  There will be a code and data in one of the following formats.

 

Transaction code 1

<code>

<passenger name – include first and last name in one variable>

< reservation number>

<departure flight number>

<departure date>

<departure airport>

<arrival airport>

<departure time>

<arrival time>

<seat>

<return flight number>

<return date>

<departure airport>

<arrival airport>

<departure time>

<arrival time>

<seat>

 

Transaction code 2

<code>

<reservation number>

 

Transaction code 3

<code>

 

Transaction code 4

<code>


AirlineOutput class

This class will be responsible for:

  • Code 2 – Displaying the itinerary for one passenger
    • Sample output:

Passenger Name: Carl Foreman

Reservation Number: 1234

DepartureFlight:

Flight Number:  UA1235

Flight Date:  June 23, 2014

Departure Airport:  null

Arrival Airport:  null

Departure Time:  4:00 PM

Arrival Time:  7:15 PM

Seat:  23A

Return Flight:

Flight Number:  UA673

Flight Date:  July 12, 2014

Departure Airport:  null

Arrival Airport:  null

Departure Time:  10:00 AM

Arrival Time:  11:25 AM

Seat:  8A

    • Note that the date has been changed from the form 04/16/2014 to the form April 16, 2014
  • Code 3 – Displaying the itineraries for all reservations
    • This displays the itinerary for each person in the same format as above. 
    • Leave a blank line between each itinerary.
  • Code 4 – Writing the contents of the array to the file
    • This should be in the same format as the input file AirlineData.txt
      • The data can be left in the format used to display to the screen.
    • Name this file xxx-UpdatedData.txt where the xxx represents your initials.

 

Design:  Create an electronic document in .doc, .docx, or .pdf format containing the pseudocode algorithm for the driver and the  class diagrams for all other classes.

 

JavaDoc:  Generate the JavaDocs for the project.

 

Program Submission:

·        Zip your .java files for all of the classes together into a file with your initials and Program 6.  Also zip the JavaDoc folder named xxx-JavaDoc6.zip

o   Example format with my initials:  CJH-Program6.zip

·        Submit the .zip file and your design file to Program 6 in ReggieNet.

 

Program 6 Grading Criteria

 

 

·        (3)  JavaDoc

·        (4) Flight class

·        (4) Reservation class

·        (2) Airline class

·        (5) Add a reservation

·        (5) Print one passenger

·        (5) Print all itineraries

·        (5) Write list to file

·        (4) Input airline file

·        (4) Input transaction file

·        (1) Formats date

·        (4) Output to screen

·        (4) Output to file

 

 

Deductions

·        Late (5% per calendar day)

·        (-25) Syntax Errors

·        (-15) Runtime Errors

·        (-10) Style and Organization

o   Well written main comment block

o   Well written method blocks

o   Formatted code:

§  Properly spaced and indented

§  Correct use of uppercase and lowercase first letters

§  Uses classes correctly

o   No redundant code

 

    • 9 years ago
    the answer
    NOT RATED

    Purchase the answer to view it

    • answer.zip