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.