Shri Shamrao Patil (Yadravkar) Educational & Charitable Trust’s
SHARAD INSTITUTE OF TECHNOLOGY
             POLYTECHNIC, YADRAV
       DEPARTMENT OF
    COMPUTER ENGINEERING
MICRO PROJECT REPORT
Object Oriented Programming
                      (313304)
   Project Title: Library Management System
          Branch :Computer Engineering
            Academic Year : 2025-26
                  Semester : 3rd
     Shri Shamrao Patil (Yadravkar) Educational & Charitable Trust’s
   SHARAD INSTITUTE OF TECHNOLOGY POLYTECHNIC, YADRAV.
                                CERTIFICATE
                                     This is to certify that,
         Name of the student                                         ROLL NO
    TAHIR AFJAL SHAIKH                                                 25066
        We have successfully completed the Project work entitled “Library Management System”
under my supervision, in the partial fulfillment of the requirements for the SY Diploma in subject
Professional Communication and the report submitted to M.S.B.T.E. MUMBAI. for academic year
2025-2026
Date:
Place: S.I.T.Polytechnic, Yadrav.
Ms. P S Bodake.                                                  Mr. R.M.Patil.
PROJECT GUIDE                                                       HOD
                                 ACKNOWLEDGMENT
          It is our great pleasure to present the honor and sincere gratitude to our guide
Ms.P.S.Bodake Lecturer, Department of Computer Engineering of Sharad Institute of
Technology, Polytechnic, Yadrav helped in joining the hands in developing each and every steps
of this project and for valuable guidance and constant encouragement during completion of project
work. It was my privilege and pleasure to work under her valuable guidance. We are indeed
gratefully to her for providing me helpful suggestions. Due to her constant encouragement and
inspiration. We could complete our project work.
        We are very thankful to Principal, Sharad Institute of Technology, Polytechnic, Yadrav.
        Our grateful thanks to Mr.R.M.Patil Head of Computer Engineering Department, for their
valuable guidance, support and constant encouragement.
        We express thanks to our family and friends for their support and encouragement at every
stage of successful completion of this project work.
        Our sincere thank to all those who have directly or indirectly helped me to carry out this
work.
        Name of Student                                                  Roll No
    TAHIR AFJAL SHAIKH                                                    25066
                   Index
1.Introduction
2.Objective
3.syst analysis
4.system design
5.implimentation
6.output
7.Advantages
8.Limitation
9.Application
                                          1. Introduction
A Library Management System in C++ using Object-Oriented Programming (OOP)
is a software application designed to simplify and automate the basic functions of a
library. It helps in managing books, members, and transactions like issuing and
returning books in a systematic way. The system applies OOP concepts such as
classes, objects, encapsulation, inheritance, and polymorphism to represent real-
world entities like books, members, and library staff. Each entity is defined as a class
with attributes and methods, making the program modular, reusable, and easy to
maintain. For example, a Book class can hold details like title, author, and status
(issued or available), while a Member class can manage user details and borrowed
books. A central Library class coordinates all operations such as adding books,
registering members, searching for a book, issuing or returning books, and
calculating fines. File handling can also be included to store and retrieve data
permanently. Thus, the project not only improves efficiency in handling library tasks
but also demonstrates practical use of OOP principles in real-life problem solving.
Would you like me to make this paragraph short and simple for assignment use or more
formal and detailed for project report?
.
                              2. Objectives
1. To apply Object Oriented Programming concepts.
2. To create a user-friendly system for library operations.
3. To reduce manual effort in handling records.
4. To add, delete, display, and search book details easily.
5. To maintain issue/return records systematically.
6. To minimize time consumption and human error.
7. To provide a practical learning project for students.
8. To design a system that can add, update, delete, search, and display books.
9. To provide a simple and user-friendly interface for library
   management.
10. To reduce manual errors and improve accuracy of records.
11. To maintain student details along with book issue/return history.
12. To make book tracking faster and more systematic.
13. To demonstrate the use of constructors, functions, and classes in C++
14. To create a portable and flexible system that can run on any
   computer.
15. To encourage students’ practical learning through coding small projects.
                                  3. System Analysis
   Records are maintained in registers or notebooks.
   Searching books is slow and time-consuming.
   High chances of human errors in issue/return records.
   Difficult to update or delete old records.
   Requires more paperwork and storage
   Time-consuming book management.
   Lack of accuracy and reliability.
   Data loss if records are misplaced or damaged.
   Difficult to generate reports quick.
   Computerized system using OOP concepts.
   Add, delete, search, issue, and return books easily.
   Faster and more accurate record management.
   Reduces manual effort and paperwork.
   Provides user-friendly functions for library staff.
   Can be extended with file handling and databases.
                                      4. System Design
1. The system is designed using Object Oriented Programming concepts in C++.
2. Main components are represented as classes and objects.
3. Each class has data members (to store information) and member functions
    Class: Book
        Data Members: Book ID, Title, Author, Publisher, Status (Issued/Available).
        Functions:
            o addBook() → Add a new book.
            o displayBook() → Show book details.
            o searchBook() → Find a book by ID or title.
        Class: Student
        Data Members: Student ID, Name, Department, Issued Book ID.
        Functions:
            o   issueBook() → Issue a book to student.
            o   returnBook() → Return the issued book.
            o   showStudent() → Display student details.
        Class: Library
        Functions:
            o   manageBooks() → Handle book operations.
            o   manageStudents() → Handle student operations.
            o   menu() → Display main menu
                                        5. Implementation
#include <iostream.h>
#include <conio.h> class
Book
{
public:
    int bookID; char
    title[50]; char
    author[50]; int
    quantity;
    void inputBook() {
        cout << "\nEnter Book ID: "; cin
        >> bookID;
        cout << "Enter Book Title: ";
        cin.ignore();
        cin.getline(title, 50);
        cout << "Enter Author Name: ";
        cin.getline(author, 50);
        cout << "Enter Quantity: "; cin >>
        quantity;
    }
    void displayBook() {
        cout << "\nBook ID: " << bookID; cout <<
        "\nTitle: " << title;
        cout << "\nAuthor: " << author;
         cout << "\nQuantity: " << quantity << "\n";
     }
     void issueBook() { if
         (quantity > 0) {
             quantity--;
             cout << "Book issued successfully.\n";
         } else {
             cout << "Book not available.\n";
         }
     }
     void returnBook() {
         quantity++;
         cout << "Book returned successfully.\n";
     }
};
void main() {
     clrscr(); // clear screen for Turbo C++ Book
     books[100];
     int count = 0;
     int choice; int
     searchID; int i;
     int found;
     do {
         cout << "\n===== Library Menu =====\n";
cout << "1. Add Book\n";
cout << "2. Display All Books\n"; cout
<< "3. Search Book by ID\n"; cout <<
"4. Issue Book\n";
cout << "5. Return Book\n"; cout
<< "6. Exit\n";
cout << "Enter your choice: "; cin >>
choice;
switch (choice) {
   case 1:
      if (count < 100) {
          books[count].inputBook(); count++;
      } else {
          cout << "Library is full.\n";
      }              break;
   case 2:
      if (count == 0) {
          cout << "No books available.\n";
      } else {
          for (i = 0; i < count; i++) {
              books[i].displayBook();
          }
      }
   break;
case 3:
   cout << "Enter Book ID to search: "; cin >>
   searchID;
   found = 0;
   for (i = 0; i < count; i++) {
       if (books[i].bookID == searchID) {
           books[i].displayBook();
           found = 1; break;
       }
   }
   if (!found) {
       cout << "Book not found.\n";
   }
   break;
  case 4:
   cout << "Enter Book ID to issue: "; cin >>
   searchID;
   found = 0;
   for (i = 0; i < count; i++) {
       if (books[i].bookID == searchID) {
           books[i].issueBook();
           found = 1;
           break;
       }
   }
   if (!found) {
       cout << "Book not found.\n";
   }
   break;
case 5:
   cout << "Enter Book ID to return: "; cin >>
   searchID;
   found = 0;
   for (i = 0; i < count; i++) {
       if (books[i].bookID == searchID) {
           books[i].returnBook();
           found = 1; break;
       }
   }
   if (!found) {
       cout << "Book not found.\n";
   }
   break;
case 6:
   cout << "Exiting the program.\n";
              break;
           default:
              cout << "Invalid choice. Try again.\n";
       }
    } while (choice != 6); getch();
}
                                      6. Output screenshot
                                        7. Advantages
1 Provides a computerized system instead of manual registers.
2 Fast and accurate book record management.
3 Saves time and effort in searching and updating data.
4 Reduces paperwork and storage requirements.
5 Minimizes human errors in issuing and returning books.
6 Easy to add, delete, and update book or student records.
7 Offers a simple menu-driven interface for users.
8 Demonstrates practical application of OOP concepts in C++.
9 Can be easily extended and upgraded in the future.
10 Improves efficiency and productivity of library staff.
11 Ensures quick access to book availability information.
12 Keeps records organized and systematic.
13 Reduces duplication of work.
14 Portable system – can run on any computer with C++ compiler.
15 Acts as a learning project for students to understand software development.
                                         8. Limitations
1. Works only in console mode (no graphical interface).
2. Records are not permanently stored without file handling.
3. Suitable only for small libraries (limited data handling).
4. Lacks advanced security features (like login/password).
5. No report generation in detailed format.
6. Limited to basic operations (add, search, issue, return).
7. Cannot be directly connected to databases like SQL in current form.
8. Not useful for large-scale institutions without modifications.
9. Does not support online access for users.
10.   Requires manual updates in code for new features.
                                        9. Application.
1. Can be used in small school or college libraries.
2. Helpful for students and teachers to maintain book records.
3. Useful as a mini project for learning OOP in C++.
4. Can serve as a base model for advanced library management software.
5. Demonstrates real-life application of programming concepts.
6. Can be extended for digital or e-library systems.
7. Useful for training and academic purposes in computer science.
8. Can help in automating simple library operations.
9. Acts as a prototype for larger database-driven projects.
10.   Encourages students to apply coding in practical scenarios
                                  10. Feature scope
1. The system can be enhanced by adding a Graphical User Interface (GUI) to make it
   more user-friendly.
2. Integration with a database like MySQL or SQLite can allow permanent storage
   of book and student records.
3. Online access can be added so that students and staff can check book availability
   remotely.
4. Security features like login, passwords, and user roles can be implemented to
   protect data.
5. Advanced features like fine calculation, notifications, and automated reports
   can be included.
6. The system can be extended to handle large-scale libraries with thousands of books
   and multiple users.
7. Mobile or web-based versions can be developed for easy accessibility.
8. Can be integrated with barcode or RFID systems for faster book issuing and
   returning.
9. Future updates can include digital library features like e-books and online lending.
10. Provides a strong foundation for students to learn software development and database
   management for real-world projects.
                                            11. Conclusion
The Library Management System developed using OOP concepts successfully demonstrates how
basic library operations like adding, searching, issuing, and returning books can be
computerized. It reduces manual effort, saves time, and improves accuracy in record-keeping.
The project also helps students understand the practical implementation of OOP principles such
as classes, objects, constructors, and functions. In conclusion, the Library Management System
developed using C++ successfully demonstrates how core programming concepts such as object-
oriented programming, file handling, and data structures can be applied to solve real-world
problems. The system provides a simple yet effective way to manage library records, including
book details, issuing and returning of books, and user management. It reduces the burden of
manual record-keeping and minimizes the chances of errors. This project not only enhances the
efficiency of library operations but also strengthens our understanding of software development
principles using C++. With further improvements, such as integrating a graphical user interface
or database connectivity, this system can be scaled for larger institutions.