A comprehensive command-line music management system demonstrating advanced data structures, dynamic memory management, and modular programming in C.
C-Unplugged/
├── C-Unplugged.c # Main application entry point
├── C-Unplugged.h # Main header with color definitions
├── Songs.c # Song management implementation
├── Songs.h # Song structure and function declarations
├── Albums.c # Album management implementation
├── Albums.h # Album structure and function declarations
├── Playlist.c # Playlist management implementation
├── Playlist.h # Playlist structure and function declarations
├── Logging.c # Activity logging implementation
├── Logging.h # Logging function declarations
├── Utils.c # Utility functions (cloning, memory cleanup)
├── Utils.h # Utility function declarations
├── Makefile # Build automation
├── README.md # This file
├── data/
│ ├── songs.txt # Persistent song storage
│ └── albums.txt # Persistent album storage
└── log.txt # User activity log
- GCC Compiler (version 7.0 or higher recommended)
- Make utility
- Valgrind (optional, for memory leak detection)
- Unix-like environment (Linux, macOS, WSL on Windows)
# Standard build
make# Method 1: Direct execution
./music_application
# Remove object files only
make clean
| Command | Description |
|---|---|
make |
Build the project with standard flags |
make clean |
Remove object files only |
- Input Format: Requires CamelCase input (no spaces in names)
- Platform: Best experience on Unix-like systems with ANSI color support
- Concurrent Access: Not designed for multi-user simultaneous access
End of README