Question
This question is base on the previous assignment. Here is the the contents off what is related to this current homework. For this assignment we
This question is base on the previous assignment. Here is the the contents off what is related to this current homework.
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
- Before borrowing a book, make sure Patron has no overdue books and that total books out will be
- When checking a book in, determine if fines are owed
- Reporting a book as lost records the cost of the book to the patrons fine balance
- For Loans Add = Borrow a book Delete = Return a book Edit = Re-check
- 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)
In C++:
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.
Menu program must compile to receive points 10 pts Full Marks Program has a menu (sub-menus are also allowed) and appropriate prompts to implement all of the required activities defined in the problem statement. Load and store functions should work correctly or be implemented automatically. Patron capabilities program must compile to receive points 10 pts Full Marks All patron-related capabilities are provided to create, manage, store, edit and remove patrons Book capabilities program must compile to receive points 10 pts Full Marks All book-related capabilities are provided to create, manage, store, edit and remove books loan capabilities program must compile to receive points 10 pts Full Marks All loan-related capabilities are provided to create, manage, store, edit and remove loans reporting functions program must compile to receive points 10 pts Full Marks all reporting functions are provided and work properly including lists of overdue books, fines owed, and lists of all patrons, book and loans and other as specified in the original problem statement Time utilization program must compile to receive points d N. t u is a 10 pts Full Marks Time variables are properly utilized for loans and the updates to remove cancelled and completed loans as well as overdue loans is properly implemented. Code to implement other business rules in the original problem statement are also implemented and operate correctly STL utilization program must compile to receive points 5 pts Full Marks Assignment solution makes proper use of STL-based collections (typically vector or map) Design program must compile to receive points 15 pts Full Marks a revised design document similar in the format from HW 2 should be provided. Implementation should match (mostly) the design specified in form and function. member functions should have pseudocode from design as comments with code between the steps (comments account for 10 of 15 points) Report The report should address the following questions: 1. How much time did you spend on this assignment? 2. When did you start working on this assignment? 3. Did you find this homework to be easy or difficult and why? 4. What did you learn about problem solving and time management from this assignment? 5. What will you do differently on the next assignment 6. What portions of this assignment did you have the most trouble completing? 7. Any other comments related to your performance on this assignment. Should be submitted as a PDF or MS Word Document only. Can receive points even if code does not compile 5 pts Full Marks Report provided answering questions as defined. Menu program must compile to receive points 10 pts Full Marks Program has a menu (sub-menus are also allowed) and appropriate prompts to implement all of the required activities defined in the problem statement. Load and store functions should work correctly or be implemented automatically. Patron capabilities program must compile to receive points 10 pts Full Marks All patron-related capabilities are provided to create, manage, store, edit and remove patrons Book capabilities program must compile to receive points 10 pts Full Marks All book-related capabilities are provided to create, manage, store, edit and remove books loan capabilities program must compile to receive points 10 pts Full Marks All loan-related capabilities are provided to create, manage, store, edit and remove loans reporting functions program must compile to receive points 10 pts Full Marks all reporting functions are provided and work properly including lists of overdue books, fines owed, and lists of all patrons, book and loans and other as specified in the original problem statement Time utilization program must compile to receive points d N. t u is a 10 pts Full Marks Time variables are properly utilized for loans and the updates to remove cancelled and completed loans as well as overdue loans is properly implemented. Code to implement other business rules in the original problem statement are also implemented and operate correctly STL utilization program must compile to receive points 5 pts Full Marks Assignment solution makes proper use of STL-based collections (typically vector or map) Design program must compile to receive points 15 pts Full Marks a revised design document similar in the format from HW 2 should be provided. Implementation should match (mostly) the design specified in form and function. member functions should have pseudocode from design as comments with code between the steps (comments account for 10 of 15 points) Report The report should address the following questions: 1. How much time did you spend on this assignment? 2. When did you start working on this assignment? 3. Did you find this homework to be easy or difficult and why? 4. What did you learn about problem solving and time management from this assignment? 5. What will you do differently on the next assignment 6. What portions of this assignment did you have the most trouble completing? 7. Any other comments related to your performance on this assignment. Should be submitted as a PDF or MS Word Document only. Can receive points even if code does not compile 5 pts Full Marks Report provided answering questions as definedStep 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