PROJECT REPORT (CAN108)
A report submitted in partial fulfilment of the requirement for the course
Data Structures
Part of the degree of
BACHELOR OF COMPUTER APPLICATIONS
Submitted to
Ms. . Riya Chauhan
Assistant Professor
Submitted by:
Name AMAN -Roll no /SAP ID 1000029593 -Section D
Group No.:- 7
SCHOOL OF COMPUTING
DIT UNIVERSITY, DEHRADUN
(State Private University through State Legislature Act No. 10 of 2013 of Uttarakhand and approved by UGC)
Mussoorie Diversion Road, Dehradun, Uttarakhand - 248009, India.
June, 2026
CANDIDATES DECLARATION
I hereby certify that the work, which is being presented in the Report, entitled LIBRARY
MANAGEMENT SYSTEM , in partial fulfilment of the requirement as part of the course Data
Structures of the Degree of Bachelor of Computer Applications and submitted to the DIT
University is an authentic record of my work carried out during the period 06/01/2026 to
20/05/2026 under the guidance of Ms. Riya Chauhan
Date:
Signature of the Candidate
8 APRIL 2006
Student Name AMAN SAP ID 1000029593 Branch D
TABLE OF CONTENTS
1. Introduction .................................................. 1
2. Project Description ........................................... 2
2.1 Purpose ................................................... 2
2.2 Problem Statement ......................................... 3
2.3 Scope of the Project ...................................... 3
2.4 Objectives ................................................ 4
3. System Requirements ........................................... 5
3.1 Hardware Requirements ..................................... 5
3.2 Software Requirements ..................................... 5
4. Data Structures Used .......................................... 6
5. Modules of the Project ........................................ 7
5.1 Add Book Module ........................................... 7
5.2 Display Books Module ...................................... 8
5.3 Search Book Module ........................................ 8
5.4 Delete Book Module ........................................ 9
5.5 User Interface Module ..................................... 9
6. Algorithm / Pseudocode ........................................ 10
7. Implementation (C Program) .................................... 11
8. Result Analysis ............................................... 13
9. Advantages and Limitations .................................... 14
10. Conclusion ................................................... 15
11. Bibliography ................................................. 16
Student Name AMAN SAP ID 1000029593 Branch D
Introduction
A Library Management System is a software application designed to manage and
organize the various operations of a library in an efficient and systematic manner.
Libraries play an important role in educational institutions, where a large number of books
and records must be handled on a daily basis. Managing these records manually becomes
difficult as the size of the library increases.
In a traditional library system, all information such as book details, availability
status, and issue/return records are maintained in registers or notebooks. This manual
method creates several problems. For example, if a student wants to find a particular book,
the librarian has to search through multiple records, which is time-consuming. Similarly,
keeping track of issued and returned books becomes difficult, especially when there are
many users.
Another common problem is data inconsistency and human error. For instance, a
book might be recorded as available even when it has already been issued, or entries may
be written incorrectly due to manual handling. There is also a risk of losing important data
due to damage or misplacement of physical records.
Consider a college library where hundreds of students borrow books every day.
Without an automated system, the librarian must manually write down each transaction,
which increases workload and reduces efficiency. In such situations, delays, confusion, and
mistakes are very common.
To overcome these problems, a computerized Library Management System is
required. This project presents a simple console-based system developed using the C
programming language. It allows users to add new books, display all available books,
search for specific books, and delete records when required. The system improves
accuracy, reduces manual effort, and makes data management faster and more reliable.
Although this system is basic and does not include advanced features like graphical
interface or file storage, it effectively demonstrates how programming can be used to solve
real-world problems in library management.
Student Name AMAN SAP ID 1000029593 Branch D
DESCRIPTION
Purpose:
The purpose of this project is to develop a simple and efficient Library Management
System that automates the process of storing and managing book records. It helps reduce
manual work and improves efficiency.
Problem statement:
Manual library systems are inefficient and prone to errors. Searching for books,
maintaining records, and updating information becomes difficult. This project aims to
solve these problems by providing an automated system.
Scope of the Project
The scope of this project is limited to basic library operations such as adding, displaying,
searching, and deleting books. It is suitable for small libraries like school or personal
libraries
Although the system does not include advanced features like file storage or graphical
interface, it provides a strong foundation for future improvements and extensions.
Objectives
• To design a simple and efficient library management system
• To implement basic operations like add, search, display, and delete
• To understand the use of data structures like linked lists
• To develop problem-solving skills using C programming
Student Name AMAN SAP ID 1000029593 Branch D
System Requirements:
The successful implementation of the Library Management System requires certain
hardware and software components. These requirements ensure that the system runs
smoothly and performs all operations efficiently.
Hardware Requirements
The hardware requirements for this project are minimal, as it is a simple console-based
application.
• Computer or Laptop
• Minimum 2 GB RAM
• Keyboard and Monitor
Software Requirements
The software requirements include the programming tools and operating system needed to
develop and execute the project.
• Operating System: Windows, Linux, or macOS can be used to run the program.
• Programming Language: The system is developed using the C programming language.
• Compiler: A C compiler such as GCC or Turbo C is required to compile and run the
code.
• Text Editor / IDE: Any basic editor like Notepad, Code::Blocks, or Dev-C++ can be used
to write the code.
Student Name AMAN SAP ID 1000029593 Branch D
Methods and Implementation
Modules of the project
1. Add Book Module
This module allows the user to add new books to the library. The user is required to
enter details such as Book ID, title, author name, and quantity
.The system stores this information in memory using a linked list. Each new book is
added to the list, making it easy to manage multiple records dynamically
2. Display Books Module
This module is used to display all the books available in the library. It
traverses the linked list and prints the details of each book such as ID, title,
author, and quantity.
This helps the user to view the complete collection of books stored in the system.
3. Search Book Module
This module allows the user to search for a specific book using its unique Book
ID. The system checks each record in the linked list until it finds a match.
If the book is found, its details are displayed. Otherwise, a message is shown
indicating that the book is not available.
4. Delete Book Module
This module enables the user to remove a book from the library records. The
user enters the Book ID of the book to be deleted.
The system searches for the book in the linked list and removes it by updating
the links between nodes. This ensures efficient memory usage.
Student Name AMAN SAP ID 1000029593 Branch D
5. User Interface Module
This module handles the interaction between the user and the system. It displays
a menu with different options such as Add Book, Display Books, Search Book,
Delete Book, and Exit.
The user selects an option by entering a number, and the system performs the
corresponding operation. This makes the system easy to use and user-friendly.
6. Data Handling Module
This module is responsible for storing and managing book data during program
execution. The use of linked lists allows dynamic allocation of memory, which
means the system can handle any number of books without predefined limits.
DATA STRUCTURES USED
The project uses structures and linked lists to store and manage book records
efficiently.
• Structure: A structure is used to store the details of each book such as Book ID,
title, author, and quantity. It allows grouping of different types of data under a
single unit, making the data organized and easy to manage.
• Linked List: A linked list is used to store multiple book records dynamically.
Each book is stored as a node, and nodes are connected using pointers. This
allows the system to add or delete books easily without needing a fixed size,
unlike arrays.
The use of linked lists provides flexibility and efficient memory utilization, as
memory is allocated dynamically during program execution.
Student Name AMAN SAP ID 1000029593 Branch D
Pseudocode
Start
Initialize head = NULL
Display menu
Take user choice
If choice = 1 → Add Book
If choice = 2 → Display Books
If choice = 3 → Search Book
If choice = 4 → Delete Book
If choice = 5 → Exit
Repeat until exit
Stop
Student Name AMAN SAP ID 1000029593 Branch D
IMPLEMENTATION (C PROGRAM)
Student Name AMAN SAP ID 1000029593 Branch D
Student Name AMAN SAP ID 1000029593 Branch D
Student Name AMAN SAP ID 1000029593 Branch D
Student Name AMAN SAP ID 1000029593 Branch D
Student Name AMAN SAP ID 1000029593 Branch D
Student Name AMAN SAP ID 1000029593 Branch D
RESULT ANALYSIS
The system successfully performs operations such as adding, displaying, searching, and
deleting books. It reduces manual effort and provides accurate results. The use of linked
lists allows dynamic storage of data.
ADVANTAGES
• Easy to use
• Reduces manual work
• Fast and efficient
• Dynamic memory usage
LIMITATIONS
• No graphical interface
• No file storage (data is lost after program ends)
• Limited features
Student Name AMAN SAP ID 1000029593 Branch D
Conclusion
In this project, a Library Management System was successfully designed and implemented
using the C programming language. The system provides basic functionalities such as
adding books, displaying available books, searching for specific books, and deleting
records.
The project demonstrates the use of important programming concepts such as structures,
linked lists, dynamic memory allocation, and user interaction through a menu-driven
interface. Each module of the system was developed to perform a specific task, making the
overall system organized and efficient.
The implementation of this project helps in understanding how real-world problems, such
as managing library records, can be solved using programming. It reduces manual work,
improves accuracy, and makes data management easier.
Although the system is simple and does not include advanced features like file storage or
graphical interface, it provides a strong foundation for developing more complex
applications in the future.
Student Name AMAN SAP ID 1000029593 Branch D
Bibliography
1. Kernighan, B. W., & Ritchie, D. M. – "The C Programming Language", Prentice Hall.
2. [Link] – For understanding data structures and C programming
concepts.
3. [Link] – For basic syntax and program examples.
4. Lecture notes and classroom materials provided by the instructor.
5. Self-developed logic and implementation of the Library Management System.
Student Name AMAN SAP ID 1000029593 Branch D