Question
Write java script .js program that is a loop that simulates checkouts and checkins for a 3 month period. Every day iterate over each book
Write java script .js program that is a loop that simulates checkouts and checkins for a 3 month period. Every day iterate over each book in the catalog, and every person in the patrons array(Nested Loops). If the current book is not checked out and the current patron does not have a book already, then add it to the patrons list of books via the patrons read method and check it out by calling the books checkout method. If the book is checked out to the current person, then check if it is overdue, and if so, check it in using the books check in method, and return it using the patrons return method. When checking in, if the book is overdue then add a fine of $5.00 to the patron returning it. At the end of the 3 month period, display each patron, the books they have currently checked out and any fine they may have.
A. Class and Constructor Creation Book Class Create a script called library.js. In this file create a constructor function for a Book object. The Book object should have the following properties: Title Available: Boolean representing whether the book is checked out or not. The initial value should be false. Publication Date: Use a date object
Checkout Date: Use a date object Call Number: Make one up Authors: Should be an array of Author objects Author Class Create a constructor function for an object called Author. It should have a property for the first name and last name of the author.
Patron Class
Create a constructor function for an object called Patron. This represents a person who is allowed to check out books from the library.
Give it the following properties:
Firstname
Lastname
Library Card Number (Make one up)
Books Out: Make it an array
fine: Starts a 0.00 B. Methods to add Book Class Add a function to the Book prototype called "checkOut". The function will change the available property of the book from true to false and set the checkout date. The
checkout date should be set to the current date minus some random number of days between 1 and 5. This will allow us to simulate books being overdue.
Add a function to the Book prototype called "checkIn". The function will change the available property of the book from false to true. Add a function called isOverdue that checks the current date and the checked out date and if it's greater than 5 days it returns true
Add a function called isCheckedOut that returns true if the book is checked out to someone and false if not.
Patron Class Add a function to the Patron prototype called "read" that adds a book to it's books out property. Add a function to the Patron prototype called "return" that removes a book from it's books out property. C. Test Program Create 5 different books from the Book Class and store them in an array called catalog.
Create 5 different patrons from the Patron Class and store them in an array called patrons.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started