Skip to content

theonastos/libcat

Repository files navigation

Library Management System

A command-line library catalog application written in C. This was a school project from 2013 that demonstrates fundamental programming concepts including data structures, file I/O, and modular design.

Features

  • Book Management - Add and delete books from the catalog
  • Multiple Authors - Each book can have multiple authors
  • Search & Display - Browse books by ID, title, or author surname
  • Persistence - Load and save catalog data to text files

Building

gcc -o library add.c delete.c displayAuthor.c display.c displayID.c displayTitle.c functions.c load.c main.c menu.c save.c

Usage

./library              # Uses default.txt
./library Books.txt    # Uses custom data file

Menu Options

Key Action
l Load books from file
s Save books to file
a Add a new book
r Remove a book
d Display books
q Quit

Project Structure

├── main.c          # Entry point
├── menu.c          # Menu interface
├── project.h       # Data structures (Book, Author, Books)
├── add.c           # Add book functionality
├── delete.c        # Delete book functionality
├── display*.c      # Various display/search functions
├── load.c          # File loading
├── save.c          # File saving
├── functions.c     # Utility functions
└── Books.txt       # Sample data

Technical Highlights

  • Modular Architecture - Separated concerns across multiple source files
  • Dynamic Memory - Uses malloc for flexible author lists
  • Sequential Search - Custom search implementations for different data types
  • File Parsing - Custom text format for data persistence

Built in 2013 as a school project

About

A small data structure related project in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages