This Java repository contains a cruise ship boarding system. The system allows users to assign passengers to each cabin of a cruise ship through an interactive menu.
Features:
Arrays solution: Implements a program for a cruise ship with twelve cabins using arrays.
Menu system: Provides a menu system for users to choose actions such as adding a customer to a cabin or viewing all cabins.
Additional functionalities: Allows users to perform various operations, including displaying empty cabins, deleting a customer from a cabin, finding a cabin by customer name, storing program data into a file, loading program data from a file, and viewing passengers ordered alphabetically by name.
Classes solution: Offers a second version of the cruise ship program using classes, with Cabin and Passenger classes. Each cabin can accommodate up to three passengers and includes additional information such as first name, surname, and expenses.
Expense calculation: Provides an option to print expenses per passenger and the total expenses of all passengers.
Waiting list: Implements a waiting list queue that automatically adds customers to the queue when the cruise ship is full and fills cabins from the waiting list when customers are deleted.
This repository serves as a comprehensive solution for managing the boarding process of a cruise ship, offering flexibility and scalability.