Hi,
This looks like a student assignment. I have done similar kind of projects earlier and understand the exact requirements for such projects. I can provide well commented code working as per mentioned description. I can also provide documentation for the programs, if required.
Please let me know any other details you would like to provide or if you have any queries.
Thanks,
Rockoder