Lab Assignment 01 Indraprastha Institute of Information Technology, Delhi https://www.iiitd.ac.in/sites/default/files/docs/education/AcademicDishonesty.pdf NOTE: We won’t respond to any query because you missed to read the description carefully. We will ONLY respond to valid questions. Make sure you ask all your doubts in advance and not at the last minute. Topics: Classes, Objects, Encapsulation & Class Relationships Instructions ● Develop a Library Management System application using Object-Oriented Programming (OOP) principles. ● Make appropriate classes that represent different entities and functionalities within the library system. Design a menu-driven interface for users to interact with the library system. ● Ensure that your code works for all possible scenarios. ● If the code does not compile using Maven, you will get a zero. Functionalities: 1. Add Book: ● Allow a librarian to add a new book to the library. ● Take input for book details (title, author, total copies). 2. Remove Book: ● Allow a librarian to remove a book from the library. ● Take input for book ID. 3. Register Member: ● Allow a librarian to add a new member to the library. ● Take input for member details (name, age, etc). ● The Phone Number can act as an unique input to identify the members uniquely. 4. Remove Member: ● Allow a librarian to remove a member from the library. Take input for member ID. Here also, we can take input as username and phone no etc. 5. Enter as a member ● Takes the member name and phone number as input and logs in as the particular member, if already registered . ● If not registered, gives an error message. 6. Issue Book: ● Allow a member to borrow a book from the library, given his penalty amount is zero. If he owes the library penalty money, he should first clear that before issuing a new book. ● Display available books and take input for book ID. 7. Return Book: ● Allow a member to return a borrowed book. ● Display borrowed books and take input for book ID. 8. List Books: ● Display a list of all available books in the library. 9. List Members: ● Display a list of all registered members of the library. 10. Calculate Fine: 11. Exit: ● Terminate the application. Guidelines: ● Implement input validation to handle incorrect or invalid user inputs. ● Ensure proper error handling and display user-friendly error messages. Apply OOP principles to improve code organization and readability.
Submission: Submit File Name format: A1_RollNumber.zip Important: The code should be composed and presented using Maven. Additionally, please provide a Readme document that comprehensively outlines the procedures for executing your code. Ensure that the pom.xml file is included in your submission as well. These requirements are essential to facilitate the evaluation of your submission. If any of these is missing, you will get a zero. SAMPLERUN Library Portal Initialized…. --------------------------------- 1. Enter as a librarian 2. Enter as a member 3. Exit --------------------------------- 1 --------------------------------- 1. Register a member 2. Remove a member 3. Add a book 4. Remove a book 5. View all members along with their books and fines to be paid 6. View all books 7. Back --------------------------------- 1 --------------------------------- Name: Rick Dunphy Age: 21 Phone no: 9999999993 --------------------------------- Member Successfully Registered with <Member ID>! --------------------------------- 3 --------------------------------- 1. Book title: Harry Potter 2. Author: J.K. Rowling 3. Copies: 2 --------------------------------- Book Added Successfully! --------------------------------- 1. Register a member 2. Remove a member 3. Add a book 4. Remove a book 5. View all members along with their books and fines to be paid 6. View all books 7. Back --------------------------------- 6 --------------------------------- Book ID - 1 Name - Harry Potter Author - JK Rowling Book ID - 2 Name - Harry Potter Author - JK Rowling --------------------------------- --------------------------------- 1. Register a member 2. Remove a member 3. Add a book 4. Remove a book 5. View all members along with their books and fines to be paid 6. View all books 7. Back --------------------------------- 7 --------------------------------- 1. Enter as a librarian 2. Enter as a member 3. Exit --------------------------------- 2 Name : Rick Dunphy Phone No: 9999999990 Member with Name: Rick Dunphy and Phone No: 9999999990 doesn't exist. --------------------------------- 1. Enter as a librarian 2. Enter as a member 3. Exit --------------------------------- 2 Name: Rick Dunphy Phone No: 9999999993 Welcome Rick. Member ID: <MemberID> --------------------------------- 1. List Available Books 2. List My Books 3. Issue book 4. Return book 5. Pay Fine 6. Back --------------------------------- 3 --------------------------------- Book ID: 1 Book Name: Harry Potter --------------------------------- Book Issued Successfully! --------------------------------- 1. List Available Books 2. List My Books 3. Issue book 4. Return book 5. Pay Fine 6. Back --------------------------------- 4 --------------------------------- Enter Book ID: 1 --------------------------------- Book ID: 1 successfully returned. 12 Rupees has been charged for a delay of 4 days. --------------------------------- 1. List Available Books 2. List My Books 3. Issue book 4. Return book 5. Pay Fine 6. Back --------------------------------- 5 --------------------------------- You had a total fine of Rs. 12. It has been paid successfully! --------------------------------- 1. List Available Books 2. List My Books 3. Issue book 4. Return book 5. Pay Fine 6. Back --------------------------------- 6 --------------------------------- 1. Enter as a librarian 2. Enter as a member 3. Exit --------------------------------- 3 --------------------------------- Thanks for visiting! ---------------------------------