Skip to content

A console-based Library Management System developed in C language. Features include book management, student management, book issuance, returns, penalty calculation, and report generation.

Notifications You must be signed in to change notification settings

ZannatulRaian/Library-Management-System-In-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Library Management System in C

A console-based Library Management System developed in C language. Features include book management, student management, book issuance, returns, penalty calculation, and report generation.

Date: November 2025


Overview

The Library Management System (LMS) is a console-based application written in C.
It helps manage books, students, and transactions while keeping data in text files.
Designed for small to medium-sized libraries, it is lightweight, simple, and efficient.


Features

Admin Features

  • Add, edit, delete, and search books
  • Add and view student records
  • Issue and return books
  • Calculate, adjust, and clear penalties for overdue books
  • Generate reports on issued books and student penalties

Student Features

  • View personal account details, including issued books and penalties
  • Search books by title or author
  • Request book issuance if available
  • Change personal password

Technical Highlights

  • Modular programming with functions and structures
  • Persistent storage using text files (books.txt, students.txt)
  • Console-based, menu-driven interface
  • Role-based access for Admin and Student
  • Input validation and error handling

Project Structure

  • Library-Management-System/
    • main.c : Main program file
    • admin.c : Admin functionalities
    • student.c : Student functionalities
    • files.c : File Handling
    • library.h : Header file with structures and prototypes
    • books.txt : Persistent storage for books
    • students.txt : Persistent storage for students
    • README.md : Project documentation

Requirements

  • Programming Language: C (ANSI C)
  • Compiler: GCC or any standard C compiler
  • Operating System: Windows, Linux, or macOS
  • IDE/Editor: Code::Blocks, Dev-C++, VS Code, or any text editor

Block Diagram

2145

How to Run

  1. Clone the repository: git clone

  2. Compile the program:

gcc main.c admin.c student.c -o LMS

  1. Run the executable:

./LMS # Linux / macOS LMS.exe # Windows

  1. Follow the menu to use Admin or Student functionalities.

Output Screenshots

Main Menu mai

Admin Panel ad

Add Book b

Add Student 2

Issue Book 3

Return Book 4

Penalty Report 5

Issue/Return Book Report 6

Search Book 7

Delete Book 8

Student Menu s

My Account 11

Search Book 12

Change Password 13

Issue Book Report 14 15

Exit 111


Limitations

  • Text file storage limits scalability
  • Basic password authentication for admin only
  • Console-based interface (no GUI)
  • Manual input required for book issuance and penalty updates
  • Designed for up to ~100 books and students

Future Enhancements

  • Integrate relational database (MySQL, SQLite)
  • Encrypted passwords and advanced authentication
  • Graphical User Interface (GUI)
  • Automated penalty calculation
  • Backup and recovery mechanisms
  • Cloud-based or remote access

References

  1. Source code: library.h, main.c, admin.c, student.c, books.txt, students.txt
  2. GeeksforGeeks – File Handling in C: https://www.geeksforgeeks.org/file-handling-c-classes/
  3. TutorialsPoint – C Programming – Data Structures: https://www.tutorialspoint.com/cprogramming/c_data_structures.htm
  4. W3Schools – C Language Basics: https://www.w3schools.com/c/
  5. ANSI C Standard Documentation: https://www.iso-9899.info/
  6. Stack Overflow – Implementing LMS in C

License

opensource.org/licenses/MIT

About

A console-based Library Management System developed in C language. Features include book management, student management, book issuance, returns, penalty calculation, and report generation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages