通讯录管理系统C语言课程设计.docx
- 文档编号:27634295
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:14
- 大小:105.64KB
通讯录管理系统C语言课程设计.docx
《通讯录管理系统C语言课程设计.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统C语言课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
通讯录管理系统C语言课程设计
C语言课程设计:
通讯录管理系统
一、需求分析………………………………………………………2
二、概要设计………………………………………………………2
三、详细设计………………………………………………………3
四、上机操作………………………………………………………14
五、实习心得………………………………………………………19
六、源程序………………………………………………………20
一、需求分析
具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。
(1)数据包括:
人名、工作单位、电话号码和E-MAIL地址。
(2)可对记录中的姓名和电话号码进行修改。
(3)可增加和删除记录。
(4)可显示所有的保存记录。
(5)可按人名或电话号码进行查询。
[提示]
建议采用结构体数组和文件系统实现。
结构体成员包括人名、工作单位、电话号码和E-MAIL地址。
根据题目的要求程序应该采用结构体数组和文件系统实现。
应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。
二、概要设计
根据上面的分析,可以将程序系统的设计分为如下几个模块:
插入、显示、删除、查询、修改、保存和退出。
三、详细设计
1、主函数;
主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。
其中各功能模块用菜单方式选择。
流程图
N
Y
【程序】
intmain()
***********\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"); } returnSize+n; } 2、显示模块 此模块为显示所有记录,流程图如下: 【程序】 voidDisplay(Man*pMan,intSize) { 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"); 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"); } returnSize+n; } voidModify(Man*pMan,intSize){ 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");; printf("\t\t**********************************************\n");break; } else { printf("\t\t************操作失败,请稍后再试! *************\n"); printf("\t\t**********************************************\n");break; } case'n': printf("信息未删除! \n");break; default: printf("选择有误! \n");break; } } else { printf("\t\t*********抱歉,没有找到相关信息! *********\n"); printf("\t\t******************************************\n"); } } voidDisplay(Man*pMan,intSize)//显示所有记录 { inti; printf("\t人名\t工作单位\t电话号码\tE-mail地址\n"); printf("\t************************************************************\n"); for(i=0;i<=Size;i++,pMan++)//依次输出文件中的信息 { printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email); printf("\t-----------------------------------------------------------\n"); } } voidS_asname(Man*pMan,intSize)//查找信息 { inti=0; charname[8]; printf("\t\t***********请输入要查询信息的姓名: ***********\n"); printf("\t\t**********************************************\n"); scanf("%s",name); while(i { pMan++; i++; } if(! strcmp(pMan->Name,name))//找到后输出 { printf("\t\t***************查到的信息为: ***************\n"); printf("\t*************************************************************\n"); printf("\t人名\t工作单位\t电话号码\tE-mail地址\n"); printf("\t*************************************************************\n"); printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email); printf("\t*************************************************************\n"); } else { printf("\t\t***********抱歉,没有找到相关数据************\n"); printf("\t\t**********************************************\n"); } } voidS_astel(Man*pMan,intSize)//按电话查找模块 { inti=0; chartel[12]; printf("\t\t***********请输入要查询信息的电话: ************\n"); printf("\t\t**********************************************\n"); scanf("%s",tel); while(i { pMan++; i++; } if(! strcmp(pMan->TEL,tel))//输出找到的信息 { printf("\t\t****************查到的信息为: ****************\n"); printf("\t*******************************************************\n"); printf("\t人名\t工作单位\t电话号码\tE-mail地址\n"); printf("\t*******************************************************\n"); printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email); printf("\t*******************************************************\n"); } else { printf("\t\t************抱歉,没有找到相关数据************\n"); printf("\t\t**********************************************\n"); } } intmain()//主函数 { Manman[500],*pman=man;; charcontrol; intsize; printf("\t\t**********************************************\n");//窗口初始化 printf("\t\t**********欢迎使用通讯录管理系统! ***********\n"); printf("\t\t*--------------------------------------------*\n"); printf("\t\t*请按回车键继续! *\n"); printf("\t\t**********************************************\n"); scanf("%c",&control); if(control) { size=Scan(pman);//判断文件是否存在 printf("\t\t\t请输入相应操作数操作\n"); for(;;)//菜单生成 { printf("\t\t**********************************************\n"); printf("\t\t*1--插入信息*\n"); printf("\t\t*2--按姓名查找*\n"); printf("\t\t*3--按电话查找*\n"); printf("\t\t*4--删除信息*\n"); printf("\t\t*5--显示信息*\n"); printf("\t\t*6--修改信息*\n"); printf("\t\t*0--退出系统*\n"); printf("\t\t**********************************************\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;//显示所有信息 case'6': Modify(pman,size);break;//修改信息 case'0': printf("**************谢谢使用! 再见! **************\n");//退出系统 return0; default: printf("**********输入数字有误,请重新输入**********\n");break; } } } return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 管理 系统 语言 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)