1、 课 程 设 计 报 告 课程名称课程名称 C 语言课程设计语言课程设计 课题名称课题名称 通讯录管理系统通讯录管理系统 专专 业业 统计学统计学 班班 级级 统计学统计学 学学 号号 姓姓 名名 2010 年年 7 月月 9 日日 一、设计内容一、设计内容与设计要求与设计要求 1 1设计内容:设计内容: 问题描述:问题描述: 通过该系统实现对通讯录信息进行录入、显示、修改、删除、插入、排序、 保存等操作的管理。 功能要求:功能要求: 、 本系统采用一个包含 N 个数据的结构体数组, 每个数据的结构应当包括: 编号、姓名、电话号码、地址。 、本系统显示这样的菜单: 请选择系统功能项: 1. 通
2、讯信息录入 2. 通讯信息显示 c. 通讯信息保存 d. 通讯信息删除 e. 通讯信息修改 f. 通讯信息查询 、按编号查询 、按姓名查询 、按电话号码查询 7. 退出系统 、执行一个具体的功能之后,程序将重新显示菜单。 、将通讯信息保存到文件中。 算法提示:算法提示: 、数据结构:结构体类型数组。 、数据库结构:下表构成该系统的基本数据库。 编号 姓名 电话号码 地址 charchar char Char char 测试数据:测试数据: 纪录数 20 其它其它 对该系统有兴趣的同学可以在实现上述基本功能后, 完善系统的其它功能。 2 2设计要求设计要求: 1)设计正确,方案合理。 2)界面友
3、好,使用方便。 3)程序精炼,结构清晰。 4)设计报告 5000 字以上,含程序设计说明、系统的功能框图、流程图、 源程序清单等。 5)实际操作过程中遇到的问题及解决方法:设计总结及心得体会. 6)上机演示。 二、进度安排二、进度安排 星期一 上午 熟悉这次课程设计的目的和课程设计的要求, 通过图书馆或因特网查找与帧 封装课题相关的资料,明确了解一些要用到的文件和调用函数等,然后再把整个 程序设计的总体框架、流程图等构思出来,并进行书面程序设计。 星期一 下午 机房上机,在计算机上编辑源程序。调试程序,在改正错误的同时不断完 善程序,使源代码满足课程设计的要求和实现课程设计的基本功能。 星期三
4、 下午 继续修改、编辑、调试程序。不断改正错误后,要保证程序能成功编译成目 标文件,链接成功成为可执行文件,再运行能显示出“帧封装已完成”的信息, 这样才能算已经完成了本课题的基本功能。之后,开始撰写课程设计报告。 星期四 下午 进一步完善程序并运行演示, 完成课程设计答辩, 完成并打印课程设计报告。 目目 录录 一、设计内容与设计要求 3 1设计内容: 3 2设计要求 4 二、进度安排 4 三、课题的主要功能 5 四、课题的功能的模块的划分 6 1、功能模块图 6 2、流程图: 7 五、主要功能的实现 9 六、程序的调试 12 七、课题设计的总结和心得体会 13 八、参考资料 14 九、附录
5、 15 十、课程设计评分表 31 三三 、课题的主要功能、课题的主要功能 1、通过该系统实现对通讯录信息进行录入、显示、修改、删除、插入、排序、 保存等操作的管理。按编号查询,按姓名查询,按电话查询;还有按电话删除记 录,按姓名删除记录;插入记录等。 2、执行一个具体的功能之后,程序将重新显示主菜单。 四、课题的功能的模块的划分四、课题的功能的模块的划分 1 1、功能模块图、功能模块图 通讯录管理系统 信息的录入 信息的显示 信息的保存 信息的删除 按编号查询 按姓名查询 按电话查询 插入记录 退出系统 2、流程图:、流程图: 结束程序 menu_select() 程序运行 Listfind(
6、linklist head) Inertnode(linklisthead,listnode*p) Delnode(linklist head) menu_select() Createlist() 是否结束? 开始 Main() NO YES 五、主要功能的实现五、主要功能的实现 1 、menu()主菜单:首先进入运行通讯录管理系统的主菜单界面,列出了所 有功能选项,如下图所示: 通过 printf()函数在屏幕上绘制一个菜单,将菜单进行编号,并显示一个提示 输入选项,输入 08 之间的数字。输入选项就是输入菜单编号,该输入项作为函 数的返回值,带到主函数,主函数根据这个数字调用相应的功能函数。 2、然后就输入 1,再按回车键进行对通讯录信息的录入,按照提示语输入每项 内容,分别输入姓名,电话号码,编号,地