A command-line based Address Book Management System implemented in C, designed to manage contact information efficiently using file handling and structured data storage.
This project demonstrates core system-level programming concepts such as structured data management, persistent storage, modular design, and menu-driven application development.
The system provides a simple and efficient interface to manage contacts, allowing users to perform operations such as creating, searching, updating, and deleting entries. Contact data is stored using file handling mechanisms, ensuring persistence across program executions.
The implementation focuses on clean modular design and practical usage of C programming constructs relevant to real-world applications.
- Create and store contact information
- Search contacts using key attributes
- Edit existing contact details
- Delete contacts from storage
- Display all stored contacts
- Persistent storage using file handling
- Menu-driven user interaction
Handles all operations related to contact data.
- Stores contact details using structures
- Supports creation, modification, and deletion
- Enables efficient lookup of records
Provides mechanisms to locate specific contacts.
- Searches based on attributes such as name
- Can be extended for multi-field search
- Enables quick retrieval of stored data
Ensures persistent data storage.
- Reads and writes contact data to files
- Maintains data consistency across sessions
- Demonstrates binary/text file operations in C
Implements a menu-driven interface.
- Simple command-line interaction
- Guides user through available operations
- Ensures controlled execution flow
- Initialize system
- Load existing contacts (if available)
- Display menu options
- Perform user-selected operation
- Update and save data
- Exit safely
- Structures for data representation
- File I/O operations (read/write)
- Function-based modular programming
- Menu-driven system design
- Data validation and control flow
- Create Contact
- Search Contact
- Edit Contact
- Delete Contact
- List All Contacts
- Save Contacts
- Exit
The system is implemented using fundamental software design principles:
- Modular function-based design
- Separation of data handling and user interaction
- Persistent storage using file systems
- Simplicity and clarity in user flow
- Extensible structure for additional features
This project demonstrates foundational skills required in system and application development:
- Structured data management
- File-based persistence mechanisms
- CLI-based application design
- Modular programming in C
These concepts are widely used in embedded systems, backend utilities, and low-level software tools.
- Multi-field search (phone, email)
- Data validation and input sanitization
- Sorting and filtering of contacts
- Binary file optimization
- Integration with database systems
- GUI-based interface
Shreyas Pawangadkar