通讯录管理系统数据结构课程设计.doc
《通讯录管理系统数据结构课程设计.doc》由会员分享,可在线阅读,更多相关《通讯录管理系统数据结构课程设计.doc(28页珍藏版)》请在沃文网上搜索。
1、 C语言课程设计 通讯录管理系统目 录 一、 需求分析2二、 概要设计2三、 详细设计3四、 上机操作14五、 实习心得19六、 源程序 20一、需求分析 具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。(1) 数据包括:人名、工作单位、电话号码和E-MAIL地址。(2) 可对记录中的姓名和电话号码进行修改。(3) 可增加和删除记录。(4) 可显示所有的保存记录。(5) 可按人名或电话号码进行查询。提示 建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包
2、括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。二、概要设计根据上面的分析,可以将程序系统的设计分为如下几个模块:插入、显示、删除、查询、修改、保存和退出。 通讯录管理系统插入显示删除查询保存修改退出三、详细设计1、 主函数;主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 流程图输入n,判断是否是06开始显示一系列功能选项N根据n的值调用各功能模块函数结束Y【程序】int main() /主函数Man man500,*pman=man;char control;int size;printf(tt*n); /窗口初始化 printf
3、(tt* 欢迎使用通讯录管理系统! *n); printf(tt*-*n); printf(tt* 请按回车键继续! *n); printf(tt*n); scanf(%c,&control);if(control)size=Scan(pman); /判断文件是否存在printf(ttt请输入相应操作数操作n);for(;) /菜单生成printf(tt*n); printf(tt* 1-插入信息 *n); printf(tt* 2-按姓名查找 *n); printf(tt* 3-按电话查找 *n); printf(tt* 4-删除信息 *n); printf(tt* 5-显示信息 *n);
4、printf(tt* 6-修改信息 *n); printf(tt* 0-退出系统 *n); printf(tt*n);scanf(%s,&control);switch(control)case 1: size=Insert(pman,size);break; /插入新的通讯录 case 2: S_asname(pman,size);break; /按姓名查找 case 3: S_astel(pman,size);break; /按电话查找 case 4: Delete(pman,size);break; /删除信息 case 5: Display(pman,size);break; /显示所
5、有信息 case 6: Modify(pman,size);break; /修改信息 case 0: printf(*谢谢使用!再见!*n); /退出系统return 0;default: printf(*输入数字有误,请重新输入*n);break;return 0;2、 插入模块 此模块为插入信息模块,插入后再调用保存函数来保存所插入的数据,支持多条信息的插入。 流程图 开始输入要插入的记录个数ni从0到n-1调用Insert函数i!=0吗?返回主菜单保存调用Save函数结束NYY【程序】int Insert(Man * pMan,int Size) /插入模块int i,n;printf(
6、tt*请输入要插入数据的个数.*n); printf(tt*n);scanf(%d,&n);for(i=0;in;i+) /从键盘输入数据再写入文件 printf(您将要录入第%d条记录(共有%d条)n,i+1,n);printf(请输入姓名:n);scanf(%s,&pManSize+i.Name);printf(请输入工作单位:n);scanf(%s,&pManSize+i.Depart);printf(请输入电话号码:n); scanf(%s,&pManSize+i.TEL); printf(请输入Email地址:n); scanf(%s,&pManSize+i.Email);if(Sa
7、ve(pMan,Size+n)printf(tt* 恭喜!数据插入成功! *n);elseprintf(tt* 操作失败,请稍后再试 !*n);return Size+n;3、 显示模块此模块为显示所有记录,流程图如下:选择显示功能显示所有记录自动返回主菜单【程序】void Display(Man * pMan,int Size) /显示所有记录int i;printf(t人名t 工作单位t 电话号码t E-mail地址n);printf(t*n);for(i=0;iName,pMan-Depart,pMan-TEL,pMan-Email); printf(t-n);4、 查找模块本模块分为按
8、姓名查找和按电话查找两个子模块。4.1按姓名查找模块,流程图如下:是否找到此姓名输入姓名开始提示没有找到显示找到的记录结束,返回主菜单NY【程序】void S_asname(Man * pMan,int Size) /查找信息int i=0;char name8;printf(tt*请输入要查询信息的姓名:*n); printf(tt*n);scanf(%s,name);while(iName,name)/查找pMan+; i+;if(!strcmp(pMan-Name,name)/找到后输出printf(tt*查到的信息为: *n); printf(t*n); printf(t人名t 工作单
9、位t 电话号码t E-mail地址n); printf(t*n); printf(t%stt%st%st%sn,pMan-Name,pMan-Depart,pMan-TEL,pMan-Email); printf(t*n);elseprintf(tt*抱歉,没有找到相关数据 *n); printf(tt*n);4.2按电话查找模块,此模块与按姓名查找模块相似,流程图略。【程序】void S_astel(Man * pMan,int Size) /按电话查找模块int i=0;char tel12;printf(tt*请输入要查询信息的电话:*n); printf(tt*n);scanf(%s,
10、tel);while(iTEL,tel) /查找信息pMan+; i+;if(!strcmp(pMan-TEL,tel) /输出找到的信息printf(tt*查到的信息为: *n); printf(t*n); printf(t人名t 工作单位t 电话号码t E-mail地址n); printf(t*n); printf(t%stt%st%st%sn,pMan-Name,pMan-Depart,pMan-TEL,pMan-Email); printf(t*n);elseprintf(tt*抱歉,没有找到相关数据 *n); printf(tt*n);5、 删除模块此模块先利用查找模块找到所要删除的
11、信息,然后根据用户的选择来确定是否删除信息,此种调用到Save函数。其流程图如下:开始输入要修改信息的姓名是否找到信息提示没有找到信息NY显示找到的信息提示是否删除NY提示未删除提示删除成功结束【程序】void Delete(Man * pMan,int Size)/删除信息char name8,control;int i=0;printf(tt*请输入要删除信息的姓名: *n);printf(tt*n);scanf(%s,name);while(iName,name)/同查找,找到后跳出pMan+; i+;if(!strcmp(pMan-Name,name) /找到了,删除信息!做出判断.p
12、rintf(您要删除的信息为:n); printf(%stt%st%st%sn,pMan-Name,pMan-Depart,pMan-TEL,pMan-Email); printf(是否确认删除?(Y/N)n); scanf(%s,&control);switch(control) case y: pMan-Name0=0; pMan-Depart0=0; pMan-TEL0=0; pMan-Email0=0; if(Save(pMan,Size)/将新信息写入文件printf(tt*恭喜!信息删除成功!*n); printf(tt*n);break; elseprintf(tt*操作失败,请
13、稍后再试! *n);printf(tt*n);break;case n:printf(信息未删除!n);break;default:printf(选择有误!n);break;elseprintf(tt*抱歉,没有找到相关信息! *n);printf(tt*n);6、 修改模块此模块先调用查找函数查找到所要修改的信息,然后用户根据需要来修改信息。流程图如下:开始输入要修改记录的姓名是否找到信息提示未找到信息显示要修改的信息修改需要修改的条目,并保存结束NY【程序】void Modify(Man * pMan,int Size) /修改模块void Display();int i=0;char n
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 管理 系统 数据结构 课程设计