Task

The Board Game Renting System (or Game Kiosk) will consist of two main components, an administrative component, and a game catalogue.

The administrative section will allow, through text-based menus, the addition and removal of customers, the addition and removal of games in the catalogue, the display of customer records, the display of a customer's 3 favourite games and the top-up of customer accounts.

The catalogue will store a list of all the games in the kiosk, a list of the genres of those games, and a list of the available games. The catalogue will also allow display of the games in a number of ways, including by availability, genre and year. Finally, the catalogue will also handle the renting and return of games.

Each customer record will include the customer's name, their chosen ID number, their current balance, which games they are currently renting and their full renting history.

Each game record will include the game's title, its genre, its price and the year in which it was made.

Requirements

Your design will consist of exactly the following classes with the listed fields, declared as indicated. You may not add or remove classes or fields; however, you may add constructors, functions and procedures to complete your design.

Figure: see image.

Classes

Kiosk

import java.util.ArrayList;
import java.util.List;

public class Kiosk {
private Catalogue catalogue;
private List< Customer > customers;

// write your solution here
}

Catalogue

import java.util.ArrayList;
import java.util.List;

public class Catalogue {
private Kiosk kiosk;
private List< Game > gamesAvailable;
private List< Game > gamesRented;
private List< Genre > genres;

// write your solution here
}

Customer

import java.util.ArrayList;
import java.util.List;

public class Customer {
private int ID;
private String name;
private int balance;
private List< Game > currentlyRented;
private List< Game > rentingHistory;

// write your solution here
}

Game

import java.util.ArrayList;
import java.util.List;

public class Game {
private String title;
private int year;
private int price;
private Genre genre;

// write your solution here
}

Genre

public class Genre {
private String name;

// write your solution here
}

In

import java.util.*;

public class In {
private static final Scanner scanner = new Scanner(System.in);

public In() {}

public static String nextLine() {
return scanner.nextLine();
}

public static int nextInt() {
int value = scanner.nextInt();
scanner.nextLine(); // read the "\n" as well
return value;
}

public static double nextDouble() {
double value = scanner.nextDouble();
scanner.nextLine();
return value;
}

public static char nextChar() {
//return scanner.nextLine().charAt(0);
String line = scanner.nextLine();
if(line.length() > 0) {
return line.charAt(0);
} else {
return ' ';
}
}
}

Fields

All the fields have been clarified in each class and they should not be modified. The fields also have some additional requirements and structures: Lists all have the abstract type of List< >, but must be instantiated with a concrete type that implements the List< > behaviour.

Constructors

The constructors of the class have the following requirements:

1. All constructors initialize the fields of their class.

2. The Kiosk constructor takes no parameters.

3. The Catalogue constructor takes a single parameter, the Kiosk which it belongs to.

4. The Customer constructor takes three parameters, the ID, name, (initial) balance, corresponding to the three fields identically named.

5. The Game constructor takes four parameters, corresponding to the title, year, genre and price, with the same types as the respective fields.

6. The Genre constructor takes a single parameter, the name of the genre.

toString() - several of the classes will have a toString() function, with the following formatting:

Customer.toString() will produce a string of the form:

< ID >\t< name >\t$ < balance >
e.g.
50 Angela HUO $ 15
Note: \t is the escape code for the tab character.

Game.toString() will produce a string of the form:

< year >\t< title >\t< genre name >\t$ < price >
e.g.
2021 UTS Monopoly Dice Rolling $ 4

Genre.toString() will produce a string of the form:

< genre name >
e.g.
Role Playing

The main method of the program will be in the Kiosk class.

Top-Ups: The Kiosk should also implement a top-up system. A customer should be able to top up their account by simply providing their ID and the top-up amount. When renting a game, the price of the chosen game will be deducted from the customer's account decreasing their balance. If the customer does not have sufficient funds, they will not be able to rent any games.

Test Cases

For testing purposes, please make sure that you have a data list of games and customers in the constructors as follows:

Title Year Genre Price
Robinson Crusoe 2012 Action Queue 3
Talisman 2007 Role Playing 4
Three Kingdoms Redux 2014 Hand Management 3
Dungeons and Dragons 2010 Modular Board 4
Elder Sign 2011 Modular Board 3

ID Name Balance
101 Jaime 10
102 Luke 10
103 William 1

Further Requirements

Must implement a favorited reporting function (or set of functions). This corresponds to an item in the main menu. Choosing this option should prompt the user for a valid customer ID, and then display the user's 3 most rented games, in order of highest renting frequency to lowest. For two games share the same frequency, the earlier rented one rank higher. If the user has only rented less than three games, it will show those games alone. A sample partial I/O trace follows, red text is used to indicate user input:

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 3

Enter a customer ID: 101
Angela's favourite games are:
2012 Robinson Crusoe Action Queue $3
2010 Dungeons and Dragons Modular Board $4
2011 Elder Sign Modular Board $3

Sample I/O

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 5
Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 2

Adding a new customer.
Enter a new ID: 101
Enter the customer's name: Jaime
Enter the customer's initial balance: 5
Customer added.

Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 2

Adding a new customer.
Enter a new ID: 102
Enter the customer's name: Luke
Enter the customer's initial balance: 3
Customer added.

Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 1

The Kiosk has the following customers:
101 Jaime $ 5
102 Luke $ 3

Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 5

Adding a new game.
Enter the title of the game: Everdell
Enter the year: 2018
Enter the genre: Hand Management
Enter price: 4
Added Everdell to catalogue.

Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: R
Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 1
Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 3

The Kiosk has games in the following genres:
Hand Management

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 6

Enter a valid customer ID: 101
Enter the title of the game you wish to rent: Everdell
Game rented.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: R
Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 4
Enter a customer ID: 102
Enter the top-up amount: 5

Transaction complete.
Luke's balance was: $3
Luke's current balance is: $8

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: X
Thank you for using the Game Kiosk, do visit us again.

Sample I/O Broken Up

Main Display Output

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: X
Thank you for using the Game Kiosk, do visit us again.

Catalogue Menu Display

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 1
Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: R
Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: X
Thank you for using the Game Kiosk, do visit us again.

Administration Menu Display

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 5
Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: R
Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: X
Thank you for using the Game Kiosk, do visit us again.

Customer Record with No Customer

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 2

Enter a customer ID: 1
That customer does not exist.

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: X
Thank you for using the Game Kiosk, do visit us again.

Remove a Game

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 5
Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 6

Display Empty Catalogue

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 5
Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 6

Removing a game.
Enter the title of the game: Robinson Crusoe
Enter the year: 2012
2012->Robinson Crusoe->Action Queue->$3 removed from catalogue.
Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 6

Add a Game

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 5
Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 5

Adding a new game.
Enter the title of the game: Everdell
Enter the year: 2018
Enter the genre: Hand Management
Enter price: 4
Added Everdell to catalogue.

Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 4

The Kiosk has the following games:
2012 Robinson Crusoe Action Queue $3
2007 Talisman Role Playing $4
2014 Three Kingdoms Redux Hand Management $3
2010 Dungeons & Dragons Modular Board $4
2011 Elder Sign Modular Board $3
2018 Everdell Hand Management $4

Add Existing Game

Adding a new game.
Enter the title of the game: Elder Sign
Enter the year: 2011
Enter the genre: Modular Board
Enter price: 4
The game is already in the catalogue.
Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 4

Add a Customer

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 5
Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 2

Adding a new customer.
Enter a new ID: 1010
Enter the customer's name: Homer SImpson
Enter the customer's initial balance: 10
Customer added.

Welcome to the administration menu:
1. List all customers.
2. Add a customer.
3. Remove a customer.
4. List all games.
5. Add a game to the catalogue.
6. Remove a game from the catalogue.
R. Return to the previous menu.
Enter a choice: 1

The Kiosk has the following customers:
101 Jaime $ 10
102 Luke $ 10
103 William $ 1
1010 Homer Simpson $ 10

Welcome to the administration menu:
1. List all customers.
Etc ...

Add Existing customer

Adding a new customer.
Enter a new ID: 101
That customer already exists, please enter a new ID: 102
That customer already exists, please enter a new ID: 1010
Enter the customer's name: Homer SImpson
Enter the customer's initial balance: 100
Customer added.

Rent a Game

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 6

Enter a valid customer ID: 101
Enter the title of the game you wish to rent: Robinson Crusoe
Game rented.

Return a game

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 1
Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 6

Enter a valid customer ID: 101
Enter the title of the game you wish to rent: Robinson Crusoe
Game rented.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 7

Enter a valid customer ID: 101
Jaime has the following games:
Games currently rented by Jaime:
2012->Robinson Crusoe->Action Queue->$3
Enter the title of the game you wish to return: Robinson Crusoe
Robinson Crusoe has been returned.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: R

Try to Rent Unavailable Game

Enter a valid customer ID: 102
Enter the title of the game you wish to rent: Talisman
That game is not available or doesn't exist.

Remove Customer

Removing a customer.
Enter a customer ID: 103
Customer removed.

Remove Non-Existing Customer

Removing a customer.
Enter a customer ID: 1099
That customer does not exist.

Rent Returned Game

Enter a valid customer ID: 101
Enter the title of the game you wish to rent: Talisman
Game rented.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 7

Enter a valid customer ID: 101
Jaime has the following games:
Games currently rented by Jaime:
2007 Talisman Role Playing $4
Enter the title of the game you wish to return: Talisman
Talisman has been returned.

Remove Non-Existent Game

Removing a game.
Enter the title of the game: Oath: Chronicles of Empire and Exile
Enter the year: 2021
No such game found.

Display Games by Year

Enter the year: 2014
The kiosk has the following games by that year:
2014 Three Kingdoms Redux Hand Management $3

Display Games by Genre

The Kiosk has games in the following genres:
Action Queue
Role Playing
Hand Management
Modular Board

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 4

Enter a genre: Modular Board
The kiosk has the following games in that genre:
2010->Dungeons & Dragons->Modular Board->$4
2011->Elder Sign->Modular Board->$3

Display Empty Genre

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 4

Enter a genre: Dice Rolling
The kiosk has the following games in that genre:

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.

Display a Year with no Games

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 5

Enter the year: 2018
The kiosk has the following games by that year:

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.

Display Available Games

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 2

The following games are available:
2012->Robinson Crusoe->Action Queue->$3
2014->Three Kingdoms Redux->Hand Management->$3
2010->Dungeons and Dragons->Modular Board->$4
2011->Elder Sign->Modular Board->$3

Customer Record

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 2

Enter a customer ID: 101
ID: 101
Name: Jaime
Balance: $7
Games currently rented by Jaime:
2011 Elder Sign Modular Board $3
Jaime's renting history:
2011 Elder Sign Modular Board $3

Bad Input

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: o
Please enter a number between 1 and 5, or press X to exit.

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.

Top-up Customer Account

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 4

Enter a customer ID: 101
Enter the top-up amount:20

Transaction complete.
Jaime's balance was: $10
Jaime's current balance is: $30

Welcome to the Game Kiosk! Please make a selection from the menu:

Try to Rent with No Funds

Enter a valid customer ID: 103
Enter the title of the game you wish to rent: Three Kingdoms Redux
You don't have sufficient funds to rent this game.

Rent

Enter a valid customer ID: 103
Enter the title of the game you wish to rent: Dungeons & Dragons
Game rented.

Show Favourites

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 4

Enter a customer ID: 101
Enter the top-up amount:100

Transaction complete.
Jaime's balance was: $10
Jaime's current balance is: $110

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 1
Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 6

Enter a valid customer ID: 101
Enter the title of the game you wish to rent: Talisman
Game rented.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 6

Enter a valid customer ID: 101
Enter the title of the game you wish to rent: Robinson Crusoe
Game rented.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 6

Enter a valid customer ID: 101
Enter the title of the game you wish to rent: Elder Sign
Game rented.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 7

Enter a valid customer ID: 101
Jaime has the following games:
Games currently rented by Jaime:
2007 Talisman Role Playing $4
2012 Robinson Crusoe Action Queue $3
2011 Elder Sign Modular Board $3
Enter the title of the game you wish to return: Elder Sign
Elder Sign has been returned.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 7

Enter a valid customer ID: 101
Jaime has the following games:
Games currently rented by Jaime:
2007 Talisman Role Playing $4
2012 Robinson Crusoe Action Queue $3
Enter the title of the game you wish to return: Talisman
Talisman has been returned.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 6

Enter a valid customer ID: 101
Enter the title of the game you wish to rent: Dungeons & Dragons
Game rented.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 7

Enter a valid customer ID: 101

Jaime has the following games:
Games currently rented by Jaime:
2012 Robinson Crusoe Action Queue $3
2010 Dungeons & Dragons→Modular Board $4
Enter the title of the game you wish to return: Robinson Crusoe
Robinson Crusoe has been returned.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 7

Enter a valid customer ID: 101
Jaime has the following games:
Games currently rented by Jaime:
2010 Dungeons & Dragons Modular Board $4
Enter the title of the game you wish to return: Dungeons & Dragons
Dungeons & Dragons has been returned.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 6

Enter a valid customer ID: 101
Enter the title of the game you wish to rent: Elder Sign
Game rented.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: R
Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 3

Enter a customer ID: 101
Jaime's favourite games are:
2011 Elder Sign Modular Board $3
2007 Talisman Role Playing $4
2012 Robinson Crusoe Action Queue $3

Show Favourites Truncated

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 1
Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: 6

Enter a valid customer ID: 102
Enter the title of the game you wish to rent: Elder Sign
Game rented.

Welcome to the Catalogue! Please make a selection from the menu:
1. Display all games.
2. Display all available games.
3. Display all genres.
4. Display games in a genre.
5. Display all games by year.
6. Rent a game.
7. Return a game.
R. Return to previous menu.
Enter a choice: R
Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: 2

Enter a customer ID: 102
ID: 102
Name: Luke
Balance: $7
Games currently rented by Luke:
2011 Elder Sign Modular Board $3
Luke's renting history:
2011 Elder Sign Modular Board $3

Welcome to the Game Kiosk! Please make a selection from the menu:
1. Explore the catalogue.
2. View your customer record.
3. Show you favourite games.
4. Top up account.
5. Enter Admin Mode.
X. Exit the system.
Enter a choice: X
Thank you for using the Game Kiosk, do visit us again.
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.