C语言课程设计-通讯录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二○一一~二○一二学年第一学期
课程设计报告书
课程名称:C语言课程设计
班级:
学号:
姓名:
指导教师:
通讯录管理系统
一、需求分析
设计要求:
(1)建立通讯录信息,信息至少包含姓名、单位、固定电话、移动手机、分类(同事、朋友、同学、家人等)、EMAIL、QQ等。
(2)输入功能:可以一次完成若干条信息的输入。
(3) 显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应
能够自动分屏显示)
(4) 查找功能:可以按姓名等多种方式查找通讯信息
(5) 增加、删除、修改功能:完成通讯录信息的多种更新
二、 系统功能需求分析:
主要包含以下功能:
添加(输入):添加通讯录的信息 删除:删除通讯录记录
修改:修改通讯录记录的个人信息 显示:显示通讯录记录的个人信息 查找:查询通讯录记录的个人信息 保存:将信息保存到文件
重置:将个人的信息记录全部删除
三、 概要设计 系统功能模块图:
添加:可以添加通讯录记录,依次输入姓名、单位、固定电话、移动手机、分类
(同事、朋友、同学、家人等)、EMAIL 、QQ 后,会提示是否继续添加。
删除:可以按照姓名删除联系人信息。
修改:可以按照姓名查找到联系人,再依次输入姓名、单位、固定电话、移动手
机、分类(同事、朋友、同学、家人等)、EMAIL 、QQ 即可完成修改。
查找:可以用姓名查询个人信息。
系统主菜单
删除功能
修改功能
查找功能
显示功能
保存功能
重置功能
添加
功能
显示:可以以表格形式输出所有通讯录里的记录。
保存:将通讯录信息以TXT文件形式输出。
重置: 删除所有通讯人的信息记录。
三、详细设计
主要功能模块的算法设计思路及流程图:
程序所需的函数
1、添加联系人函数(void insert())
2、删除联系人函数(void del())
3、修改联系人函数(void modify())
4、查找联系人信息函数(void find())
5、显示联系人函数(void print())
6、保存联系人信息函数(void save())
7、重置联系人信息函数(void reset())
具体的函数功能模块与流程
1、添加联系人函数(void insert())
定义指向结构体的指针;
移动指针,使其指向最后一个节点,准备插入下一个联系人信息;
依次输入姓名、单位、固定电话、移动手机、分类(同事、朋友、同学、家人)EMAIL、QQ等。
2、删除联系人函数(void del()) 定义指向结构体的指针;
检验链表中是否有记录。若无记录,则返回; 根据姓名查找要删除的联系人;
输入联系人的姓名,删除对应结点。
开始
结束
输入姓名或者按0返回
输入联系人其它信息
姓名已存在,需重新输入
继续添加联
系人信息
3、修改联系人函数(void modify()) 定义指向结构体的指针;
检验链表中是否有记录。若无记录,则返回; 根据姓名查找要修改的联系人;
修改信息(可选择是否修改部分信息);
开始
结束
指针是否为空
按姓名查询,按0返回
输入要删除的联系人姓名,并删除。
否
是
姓名
4、查询联系人信息函数(void find()) 检验链表中是否有记录。若无记录,则返回; 根据姓名查找要联系人;
调用函数在链表中查找相应结点;
调用显示联系人函数,输出结点信息。
开始
结束
指针是否为空
按姓名查找,按0返回
依次修改
联系人各项信息,或不修改
否
是
姓名
5、显示联系人函数(void print()) 定义指向结构体的指针;
检验是否有记录。若无记录,则返回;若有记录,移动指针,依次输出记录;
开始
结束(返回该联系人结点
位置)
指针是否为空
按姓名查找,按0返回
输入姓
名,查找,并输出联系人信息
否
是
姓名
6、保存联系人信息函数(void save()) 定义指向结构体的指针;
以读写方式打开一个文本文件;
若打开错误,则返回;若成功,则逐条输出联系人信息: 关闭文件;
7、重置联系人信息函数(void reset())
开始
打开文件
结束
向文件输出联系人信息
失败
成功
指针是否为空
结束
逐条输出联系人信息
是
否
确定?
否是
删除所有联系人
结束