通讯录管理系统c语言课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言课程设计:通讯录管理系统
目录
一、需求分析 (2)
二、概要设计 (2)
三、详细设计 (3)
四、上机操作 (14)
五、实习心得 (19)
六、源程序 (20)
一、需求分析
具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。
(1)数据包括:人名、工作单位、电话号码和E-MAIL地址。(2)可对记录中的姓名和电话号码进行修改。
(3)可增加和删除记录。
(4)可显示所有的保存记录。
(5)可按人名或电话号码进行查询。
[提示]
建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。
根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。
二、概要设计
根据上面的分析,可以将程序系统的设计分为如下几个模块:插入、显示、删除、查询、修改、保存和退出。
三、详细设计
1、主函数;
主函数一般设计得比较简洁,只提供输入,处理和输出部分的
函数调用。其中各功能模块用菜单方式选择。
流程图
N
【程序】
int main()
***********\n");
printf("\t\t**********************************************\n");
scanf("%d",&n);
for(i=0;i printf("请输入工作单位:\n"); scanf("%s",&pMan[Size+i].Depart); printf("请输入电话号码:\n"); scanf("%s",&pMan[Size+i].TEL); printf("请输入Email地址:\n"); scanf("%s",&pMan[Size+i].Email); } if(Save(pMan,Size+n)) { printf("\t\t*********** 恭喜!数据插入成功! ***********\n"); } else { printf("\t\t*********** 操作失败,请稍后再试 !***********\n"); } return Size+n; } 2、显示模块 此模块为显示所有记录,流程图如下: 【程序】 void Display(Man * pMan,int Size) { printf("您要删除的信息为:\n"); printf("%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email); printf("是否确认删除(Y/N)\n"); scanf("%s",&control); switch(control) { case 'y': pMan->Name[0]='\0'; pMan->Depart[0]='\0'; pMan->TEL[0]='\0'; pMan->Email[0]='\0'; if(Save(pMan,Size)) 开始 输入要修改记录的姓名 是否找到信息 提示未找到信息 显示要修改的信息 修改需要修改的条目,并保存 结束 N Y ***********\n"); printf("\t\t**********************************************\n"); scanf("%d",&n); for(i=0;i printf("请输入工作单位:\n"); scanf("%s",&pMan[Size+i].Depart); printf("请输入电话号码:\n"); scanf("%s",&pMan[Size+i].TEL); printf("请输入Email地址:\n"); scanf("%s",&pMan[Size+i].Email); } if(Save(pMan,Size+n)) { printf("\t\t*********** 恭喜!数据插入成功! ***********\n"); } else { printf("\t\t*********** 操作失败,请稍后再试 !***********\n"); } return Size+n; } void Modify(Man * pMan,int Size) { printf("您要删除的信息为:\n"); printf("%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email); printf("是否确认删除(Y/N)\n"); scanf("%s",&control); switch(control) { case 'y': pMan->Name[0]='\0'; pMan->Depart[0]='\0'; pMan->TEL[0]='\0'; pMan->Email[0]='\0'; if(Save(pMan,Size))//将新信息写入文件 { printf("\t\t**************恭喜!信息删除成功!**************\n");;