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.
- 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
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./library # Uses default.txt
./library Books.txt # Uses custom data file| 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 |
├── 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
- 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