- Nevil Vataliya (nevil213) - U23CS158
- Prankit Vishwakarma (prank-vish) - U23CS113
- Parth Modi (parthm2005) - U23CS107
The Library Management System (LMS) helps manage books, students, and transactions within a library. Developed with Object-Oriented Programming (OOP) principles, the system is split into two main panels:
- 🆕 Add Student: Add a new student to the system.
- ❌ Remove Student: Remove an existing student from the system.
- 🆕 Add Book: Add new books to the library.
- ❌ Remove Book: Remove books from the library collection.
- 👥 Display Students: View a list of all students.
- 📚 Display Books: View a list of all books.
- 🔍 Search Available Books: Find books available for borrowing.
- 📖 Borrow Book: Borrow a book if available.
- ↩️ Return Book: Return borrowed books.
- 📋 Display Borrowed Books: View a list of all borrowed books.
This system is built using several OOP concepts, including:
- 👨👩👦 Inheritance: Classes like
Book,Student, andLibraryinherit common properties and methods. - ⚙️ Polymorphism:
- 🖋️ Operator Overloading: Overloaded operators (
<<,>>) for input/output operations, such as displaying book details. - 📋 Function Overloading: Functions like
menu()handle different arguments (e.g., ID,password). - 🛠️ Function Overriding: Specific functionalities for
to_string()andto_string().
- 🖋️ Operator Overloading: Overloaded operators (
- 💾 File Handling: Records are saved in external files (e.g.,
students.txt,books.txt) for data persistence. - 🖥️ Formatted Output: Used
setw()and other stream manipulators for neat output formatting. - 🔒 Password Security: Password-protected admin login.
- 📧 Email Validation: Ensures email addresses follow a valid format.
The system is organized into these main components:
- 📕 Book Class: Stores book details such as ISBN, title, author, publisher, and status (available/borrowed).
- 🧑🎓 Student Class: Manages borrowing and returning books.
- 🏛️ Library Class: Handles adding/removing books and students, displaying books/students, and searching available books.
To run the Library Management System locally, follow these steps:
-
📥 Clone the Repository:
git clone https://github.com/parthm2005/library.git cd library -
⚙️ Compile the Code: Use a C++ compiler, like
g++:g++ -o lms p.cpp
-
▶️ Run the Program: After compiling, run the executable:./lms
When you start the program, you’ll be prompted to log in as either an admin or a student:
- 🔐 Admin Login: Use the admin panel for managing students and books.
- 👤 Student Login: Access the student panel for borrowing and returning books.
- 🆕 Add a Book: Admin enters details like ISBN, title, and author to add a book.
- 📖 Borrow a Book: Students can search and borrow a book if it's available.
-
Admin Features:
- 🆕 Add/Remove books and students
- 🔍 Search for available books
- 📋 Display student and book lists
-
Student Features:
- 📖 Borrow and return books
- 📑 View borrowed books list
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch for your feature (
git checkout -b feature-name). - Commit your changes (
git commit -m 'Add new feature'). - Push to the branch (
git push origin feature-name). - Open a pull request.
- Nevil Vataliya: Core functionality for admin and student panels.
- Prankit Vishwakarma: File handling and email validation features.
- Parth Modi: Integrated OOP concepts and book management.
For any questions or feedback, feel free to open an issue or contact us!