Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Library Management System (C++)

A modular command-line Library Management System built using modern C++ fundamentals.

This project demonstrates modular programming by organizing the application across multiple source and header files while implementing a simple library workflow using arrays, functions, and shared data.


✨ Features

  • βœ… Add New Book
  • βœ… View All Books
  • βœ… Search Book
  • βœ… Issue Book
  • βœ… Return Book
  • βœ… Delete Book
  • βœ… Duplicate Book ID Validation
  • βœ… Empty Title & Author Validation
  • βœ… Book Availability Tracking
  • βœ… Multi-file Project Architecture

πŸ“‚ Project Structure

library-management-system-cpp/
β”‚
β”œβ”€β”€ include/
β”‚   β”œβ”€β”€ book.h
β”‚   β”œβ”€β”€ library.h
β”‚   └── menu.h
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ book.cpp
β”‚   β”œβ”€β”€ library.cpp
β”‚   β”œβ”€β”€ menu.cpp
β”‚   └── main.cpp
β”‚
β”œβ”€β”€ README.md
β”œβ”€β”€ LICENSE
└── .gitignore

πŸ›  Technologies Used

  • C++17
  • g++
  • Visual Studio Code
  • Git
  • GitHub

βš™οΈ Compile

g++ src/*.cpp -Iinclude -Wall -Wextra -pedantic -std=c++17 -o app

▢️ Run

./app

πŸ“š Learning Objectives

This project focuses on:

  • Modular Programming
  • Multi-file Project Organization
  • Arrays
  • Functions
  • Shared Data using extern
  • Boolean State Management
  • Helper Functions
  • Business Rule Validation
  • Command-Line Application Design

πŸš€ Future Improvements

  • Store books using file handling
  • Replace arrays with classes
  • Add borrower information
  • Track issue & return dates
  • Add fine calculation
  • Improve input validation

πŸ‘¨β€πŸ’» Author

Mehfooz

Learning C++ through project-based development.

About

πŸ‘‰ A modular Library Management System built in C++ using arrays, functions and multi-file architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages