Skip to content

Ismailcyp/Library-System-Cplusplus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“š C++ Virtual Library Management System

C++ Terminal OOP

A robust, console-based Library Management application built from scratch using Object-Oriented C++. This system features a dual-role authentication system (Librarian and Customer), complete inventory management, and time-tracked book borrowing.

To demonstrate a deep understanding of core C++ mechanics, this project intentionally avoids standard library containers like std::vector, relying entirely on dynamic memory allocation, raw arrays, and pointers to manage data structures.


โœจ Key Features

๐Ÿ” Dual-Role System

  • Librarian (Admin): Full access to add/remove books, manage the customer database, and oversee all borrowed/available inventory.
  • Customer: Secure login to browse books, search by keyword, and borrow up to 5 books at a time.

โš™๏ธ Core Mechanics

  • Dynamic Memory Management: Custom generic template functions (resizeArray) handle the dynamic growth of arrays on the heap without memory leaks.
  • Smart Borrowing Logic: Tracks exact borrow dates and automatically calculates a 7-day due date using the <ctime> library.
  • Custom Search Algorithm: Implements a manual substring matching algorithm (isSubstr) for case-insensitive searching by Title, Author, or Category.
  • Data Persistence: Architecture includes save/load states to write library inventory and customer credentials to .dat files upon exiting.
  • Strict Input Validation: Custom error-handling loops prevent the program from crashing if a user inputs strings instead of integers.

๐Ÿ› ๏ธ Built With

  • Language: C++
  • Paradigm: Object-Oriented Programming (Classes, Inheritance, Polymorphism)
  • Environment: CLI / Terminal

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages