Colossus 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 which there are five daily flights of one plane with a seating capacity of 10. Your program should display the following graphical menu:
1. MAKE RESERVATION
2. CANCEL A RESERVATION
3. DISPLAY A SEAT ASSIGNMENT
4. DISPLAY ALL SEAT ASSIGNMENTS
5. PRINT BOARDING PASS
Of the ten seats available on each flight, seats 1 through seats 5 are to be in the smoking section and seats 6 through 10 in the non-smoking section. To make reservation you will need the customer's name, street address, city, state, zip code, flight and seat number to complete the reservation record. This reservation must be written to a LINKED LIST. Option 2 requires the customer's name and the flight number to delete a seat assignment. Flight numbers are 100, 200, 300, 400, and 500. Option 3 requires either a customer's name and flight number or seat number and flight number. Option 4 display all passengers first sorted by flight number, secondly by last name and thirdly by first name. Option 5 prints a boarding pass containing the words "COLLOSUS AIRLINES-BOARDING PASS" along with the passenger name, the flight number and the seat assignment. Finally, option 6 terminates the program with the now- famous "are you sure?"/"Yes" "NO" option. Your program, of course, should never assign a seat that has already been assigned. When the smoking section is full the program should display a message to that effect and the passenger should be allowed to choose the non-smoking section and vice versa.
The whole work must be graphical, only data structures codes in java6 or Java7 is accepted.