Assignment 8-A

Multi-file Project

Build a complete modular application split across multiple source files with proper header files, separate compilation, and a Makefile for build automation.

5-6 hours
Advanced
100 Points
What You'll Practice
  • Header file design
  • Separate compilation
  • Include guards
  • Makefile creation
  • Code organization
01

Project: Contact Management System

Create a complete Contact Management System split into multiple modules. Each module should have its own .c and .h files.

Required Modules:
main.c

Main program with menu system

contact.c / contact.h

Contact struct and CRUD functions

storage.c / storage.h

File I/O operations (save/load)

utils.c / utils.h

Utility functions (validation, search)

Features to Implement:
  • Add, view, update, delete contacts
  • Search contacts by name or phone
  • Save/load contacts from file
  • Sort contacts alphabetically
  • Input validation for phone/email
02

Submission

assignment-8-modular/
├── main.c
├── contact.c
├── contact.h
├── storage.c
├── storage.h
├── utils.c
├── utils.h
├── Makefile
└── README.md
Makefile Requirements:
  • make - Compile all and create executable
  • make clean - Remove object files and executable
  • make run - Compile and run
03

Grading Rubric

CriteriaPoints
Proper module separation25
Header files with include guards20
Working Makefile15
All features implemented30
Code organization & comments10
Total100