Question: For this assignment we are going to design a system to Manage loans from the local public library For this we will need the following

For this assignment we are going to design a system to Manage loans from the local
public library
For this we will need the following entities, plus collections for each of the
entities: Patrons, Books and Loans
The data for a Book will contain at least the following:
Author
Title
ISBN Number
Library ID number
Cost
Current Status (In, Out, Repair, Lost)
You may add other data needed for your implementation as well as
you will need accessor and mutator functions for the data.
The data for a Patron will contain at least:
Name (e.g. Fred Smith)
ID number (6 digits e.g.123456)
Fine Balance
Current # of books out
You may add other data needed for your implementation as well as
you will need accessor and mutator functions for the data.
The data for a Loan (The transaction entity) will contain at least
the following:
Loan ID
Book ID
Patron ID
Due Date and Time
Current Status (overdue, normal)
You may add other data needed for your implementation as well as
you will need accessor and mutator functions for the data.
For the collections of each of the Patrons and Books Classes identified above you
will need to include the ability to:
Add
Edit
delete
Search/Find based on appropriate criteria
Print a list of all entries in the collection
Print the details for a single entity (do a find first)
Other methods you may identify
For Loans you will need:
Check Out a book (update book and patron info as well as add a loan)
Check in a book (check for fines and update patron and book info and delete loan)
List all overdue
List all books for a particular patron
Update loan status based on system clock
Re-Check a book
Edit a loan
Report lost (update book and charge patron book cost as well)
Other methods you may identify
You will need to verify the following
1. Before borrowing a book, make sure Patron has no overdue books and that
total books out will be <=6 including new borrow
2. When checking a book in, determine if fines are owed
3. Reporting a book as lost records the cost of the book to the patrons fine
balance
4. For Loans Add = Borrow a book
Delete = Return a book
Edit = Re-check
5. Also will need a
PayFines (in Patrons)
Report Lost (in Loans but will have to update books and patrons)
Print a list of overdue books with patron info (in loans but will have to update
books and patrons)
You will need to provide an appropriate menu system that can be multi-level
if you like.
Do not attempt to provide card catalog services for allowing patrons to
search for books. You may assume each book has a unique acquisition
number, and you may use these numbers to refer to books borrowed and
returned.
You will need to load and store the data. This can be done automatically
when the program starts and ends. You should also want to store after an
add, delete or edit to make sure changes to the data are preserved.
You can assume the following
Loan period is 10 days with an additional recheck of 10 days (1 recheck only)
A max of 6 books can be out to a single patron at a time
Fine rate is $0.25 per day (24 hour period)
This assignment is a follow-on to Homework 2. We will use the design in Homework 2 as the starting point to implement the Library Management System using classes. Use of STL collections is allowed.
You will have a .cpp and a .h file for each of the 6 classes, plus a .cpp file for main. This is a minimum. If you choose to modularize more that is ok. At a minimum this will create 13 files
Then you will have a makefile to build your program so that is now a total of 14 files
Then you need a word/pdf file as the report. you can read the expectations for the report in the rubric. That brings the total to 15 files. these should all be zipped into a single file for submission. You will also turn in a modified version of your design from hw 2 reflecting any significant changes from your original design. This makes the total 16 files
Be sure your code has a header comment block with your name, course and assignment number. you should use your pseudocode from the design document as comments to guide your coding in each of the member functions.
for your zip file use your 3(or 2) initials plus hw3.zip (ex dmkhw3.zip)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!