Itech5403 comparative programming languages - brief


Assignment - Parallel Implementations

You are tasked with creating a text-based program for storing data on Hotel Room Bookings - however, as this is a comparative languages course, you will be creating the same application in the following three programming languages:

- Java,

- Python, and

- Lisp or Perl (you may choose either of these).

As you implement the application in each language you should keep notes on:
- The features of the languages used,
- Which features you found useful, and
- Any issues or complications which arose due to the complexity or lack of any language features.

A brief discussion document based on these programming features for each individual language accompanying each implementation is required. Finally, a comparative overview of the languages highlighting how they were suitable or not suitable for the creating this type of application is also required.

It is recommended that the first version of the application you write is in the programming language which is most familiar to you. This will help you to have a working 'template' for storing room bookings which you can then translate into the other programming languages.

Program Specification

When the program first launches, there is a menu which allows the user to select one of the following five options:
1.) Add a guest 2.) Add a room 3.) Add a booking 4.) View bookings
5.) Quit
The functionality of these options is as follows:

1.) When users add a guest they provide a name which is stored in some manner of array or list. Guests are assigned a unique ID value where the first guest added is assigned the ID value 1, the second guest added is assigned the ID value 2 and so on.

2.) When users add a room they provide a room number and a room capacity (i.e. how many people can stay in the room at any one time) which is stored in some manner of array or list. Rooms have a property which indicates if they are booked or not for any given date - please see the Room Booking Dates section below for some guidance on the easiest way to implement this.

3.) When users add a booking they provide a guest ID, room number, the number of guests staying and finally a check-in date and check-out date.

To successfully create a room booking:

- The guest ID must be a guest which is registered on the system,

- The room number must be of a room that exists,

- The room must be able to accommodate the number of people in the booking (i.e. if the room capacity is for 2 people and the booking has 4 people staying then the booking must be refused), and finally

- The room must be available on the dates requested.

4.) When users views bookings they have the option to:
a. View guest bookings, or
b. View room bookings.
If the user opts to show guest bookings then they are prompted to enter the guest ID - and then any bookings made by that guest are displayed including:
- The guest's name,
- Which room number they booked & number of guests staying, and
- The check-in and check-out dates.
If the user opts to show room bookings then they are prompted to enter a room number - and then any bookings for that room within the current year are displayed, including:
- The guest's name,
- The number of guests staying, and
- The check-in and check-out dates.

5.) When a user chooses to Quit the program terminates with a goodbye message.
Each implementation of your project (in each of the three languages you choose) should aim to closely match the setup and structure of the program as shown in the example output on the following pages.

You may wish create separate Guest, Room and potentially Booking classes as part of your implementations, but you do not have to.

You may also wish to add code to pre-create a number of guests, rooms and bookings on each run of your code to avoid the need to type in these details over and over when testing your program. If you do so, please comment out these pre-defined entries before submitting your assignment.

Attachment:- parallel implementations.rar

Solution Preview :

Prepared by a verified Expert
JAVA Programming: Itech5403 comparative programming languages - brief
Reference No:- TGS02431926

Now Priced at $60 (50% Discount)

Recommended (94%)

Rated (4.6/5)