Java A

Order Description

The CASUAL WRITERS BOOK CLUB is a club where recreational writers can share their unpublished books for the enjoyment of other members in the club. They have asked you to develop a console based, object-oriented solution. They require a system to keep track of the books in their club. The system must have the option to add a book, delete a book, view a particular book, view all books and exit.

Add Book Option: When this option is selected, the system should ask for the title, main author, genre and year. It should then attempt to add the book. Note: A message indicating whether the book was successfully added or not must be displayed before returning to the main menu.

View all Books Option: When this option is selected, the system should display all books currently in the system. For each book it should show the bookNumber, title, main author, genre and year.

Delete Book Option: When this option is selected, the system should display all books currently in the system. For each book it should show the bookNumber, title, main author, genre and year. The user should then be prompted for a bookNumber to delete. Note: A message indicating whether the book was successfully deleted or not must be displayed before returning to the main menu.

View Book Details: When this option is selected, the system should ask the user for a bookNumber. If the bookNumber exists, the title, main author, genre and year should be shown. Note: An appropriate message should be shown if it was not found.

Exit Option: When this option is selected, the system should display a departing system message.

The next page shows what the main menu must look like.

Welcome to the CASUAL WRITERS BOOK CLUB Please select an option from the list below. 1.Add Book 2.Delete Book 3.View all Books 4.View book Details 5.Exit

Basic Class Diagram

Book -bookNumber : int -title :String -mainAuthor : String -genre : String -year:int

+Book(bn:int,title:String,author:String,genre:String,year:int) +getBookNum():int +getTitle(): String +getAuthor():String +getGenre(): String +toString(): String Catalogue -currentUnusedBookNo : int (static) -maxBooks:int -numBooks:int   +Catalogue(bookNoSeed:int, maxBooks:int) +addBook(title:String, mainAuthor:String, genre:String,year:int):bool -findBook(bNum : int): int +viewBook(bNum:int):String +deleteBook(bNum:int):bool +getBookList():String

Your main class/program (the default one created when you make a new project) will be responsible for creating a Catalogue object as well as the complete menu system as shown in the first set of screenshots. Ensure that the interface/s generated by your program is user-friendly and gives a professional look.

Marking Scheme Possible marks Catalogue Class 50 % Book Class 25% Interface 15% Professionalism and Completeness 10% Total 100 100%

CAREFUL NOTE: - Please safeguard your own code work. - If 2 or more assignments are the same (or very much alike) they will all get 0 marks, so be cautious not to share your application with others. - Note: Mobi Help members are not supposed to do or help you with your code for the assignments.