Assignment Three
Assignment Three
Assignment descriptions:
This Assignment 3 will involve both individual and group evaluations. This setup mimics
real-world scenarios, where a team lead assigns different modules to team members.
Each team member follows the software specifications to implement their modules
(individual evaluation). Finally, all modules are integrated for testing purpose (a group
evaluation).
In this assignment, you will create five files: data.h, phonebook.c, linkedlist.h,
linkedlist.c, and makefile. data.h, linkedlist.h, linkedlist.c will define and implement a
simple singly linked list data structure in C. phonebook.c will utilize the defined linked list
library to implement a digital telephone book.
The data.h file defines the telephone book’s member information. phonebook.c is an
application designed to store your friends’ phone numbers, first names and last names.
linkedlist.h will contain the linked list node definition and function prototypes, while
linkedlist.c will implement these functions.
Finally, the makefile contains a set of instructions or rules to compile your program.
File Descriptions:
data.h:
This header file contains the following struct.
typedef struct {
int area_code;
int phone_number;
char firstName[50];
char lastName[50];
}data;
phonobook.c:
This is an application program. This program should provide a simple user menu similar
to Assignment 2, but with different content. Your team will have the freedom to design
how this user menu looks. However, it should contain a minimum of 4 options.
1. Add a new phone number
2. Delete a phone number
3. Search a phone number
4. Exit
linkedlist.h:
This file contains the definition of a linked list node, linked list, and the function
prototypes for the linked list operations.
linkedlist.c:
This file implements all the function prototypes listed in the header file. Helper functions
are declared as static to make them private.
Coding 10%
Standard
Files
linkedlist.h Individual 50%
linkedlist.c
data.h
phonebook.c Group 50%
makefile
data.h/linkedlist.h/linkedlist.c
Coding Ignore coding Inconsistent Acceptable Good coding
Standard and standard coding coding standard
comments standard standard
10% 40% 70% 100% 10
Correctness The The Everything Everything
implementation implementation follows the follows the
does not follow is sort of requirements requirements
the following the for for
requirements requirements implementation implementation
with some
derivations
The following are the example inputs and outputs. Make sure your program can
generate the same outputs.
****** My Phone Book ******
1: Add a new phone number
2: Delete a phone number
3: Search a phone number
4: Exit
***************************
Added!
***************************