Final Assignment: CIS 208

Assigned: April 17th, 2004
Due: Wednesday, May 11th, 2005,    by Noon. 
 

Turn in hard copies to the CIS Main office and
email your source code (not compiled programs) to sdg5476@ksu.edu.

This assignment is worth 25 points, with possible 15 extra credit points.

Write a C program that acts as an electronic address book. 

To receive the full 25 points, you must implement the following features.

1) Allow the user to add entries to the address book.
2) Allow the user to delete specific entries.
3) Display the entries in alphabetical order.
4) Allow the user to save the book to a file and restore a book.

Implementing these features, along with a fully functional user interface will receive full credit.
There are 15 possible points of extra credit.   The more extra features you pack into the program, the more points you get.
Here are some ideas for extra features:  Searching by name, zip, or city; book merging; entry editing; different display options,auto-saving,
graphical interface, self-built scripting language.

You may pair up with another student for this project.  It's easy to split the project up, with 1 person doing the UI and the other
building the guts.  Both students will receive the same grade, regardless of how the work is divided up. 


What to turn in: 
    a) All source code necessary to run the program, including any make files if you choose to use make.
    b) A 'manual' for your program. Describe your different features, how to use them, what they do, etc. 
        Anything that you believe should be taken into consideration during grading should also be noted in the manual.  This includes interesting solutions
        and clever implementations.  Stuff that the may impress a user/grader.
        Compiling instructions also need to be included.

All programs will be graded on cislinux.cis.ksu.edu.   Grading will be based on correctness and the other programming principles used this semester.
Avoid all memory leaks and build robust code.   Unfinished or broken features will not receive much credit.  It's better to only include features that work,
than to have bits of working code.