Skip to content

Latest commit

 

History

History
143 lines (92 loc) · 3.39 KB

File metadata and controls

143 lines (92 loc) · 3.39 KB

Address Book Management System (C | File Handling)

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.


Overview

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.


Core Capabilities

  • 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

Functional Description

Contact Management

Handles all operations related to contact data.

  • Stores contact details using structures
  • Supports creation, modification, and deletion
  • Enables efficient lookup of records

Search Functionality

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

File Handling

Ensures persistent data storage.

  • Reads and writes contact data to files
  • Maintains data consistency across sessions
  • Demonstrates binary/text file operations in C

User Interface

Implements a menu-driven interface.

  • Simple command-line interaction
  • Guides user through available operations
  • Ensures controlled execution flow

Program Workflow

  • Initialize system
  • Load existing contacts (if available)
  • Display menu options
  • Perform user-selected operation
  • Update and save data
  • Exit safely

Technical Concepts Applied

  • Structures for data representation
  • File I/O operations (read/write)
  • Function-based modular programming
  • Menu-driven system design
  • Data validation and control flow

Example Operations

  • Create Contact
  • Search Contact
  • Edit Contact
  • Delete Contact
  • List All Contacts
  • Save Contacts
  • Exit

Design Approach

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

Industry Relevance

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.


Future Enhancements

  • 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

Author

Shreyas Pawangadkar