




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广西科技大学鹿山学院课程设计报告课程名称: c语言程序设计课题名称: 通讯录管理系统设计指导教师: 倪志平 班级: 物联网152姓名: 吴肖军 学号: 成绩评定: 指导教师签字: 二O一六年七月六日目录TOC\o"1-5"\h\z\o"CurrentDocument"1需求分析 3\o"CurrentDocument"2总体分析与设计 3总体设计方案 3功能描述 新增联系人模块 保存联系人模块 4查询联系人模块 4显示联系人模块 4修改联系人模块 4删除联系人模块 \o"CurrentDocument"读取联系人模块 5退出系统模块 系统流程图 53系统实现 6\o"CurrentDocument"4功能测试 11\o"CurrentDocument"新增联系人 11查询联系人 13显示联系人 14修改联系人 15删除联系人 16退出系统 17\o"CurrentDocument"总结 18参考文献 18课程设计目的1需求分析通讯录档案信息采用文件存储,因而要提供文件的输入输出操作;根据联系人信息的变动情况,添加删除记录,因而要提供文件的添加删除操作;根据编号进项查询,所以要提供文件的查找操作;高级编辑功能,就是提供文件的修改操作;显示功能就是显示出通讯录中所有联系人的功能;另外还要提供键盘式选择菜单以实现功能选择。2总体分析与设计1.总体设计总体设计目标:使用者可以利用本系统对通讯录的各项管理进行操作,根据用户要求自动进行新增联系人,保存联系人,删除联系人,查找所要的联系人,修改所要的联系人,最后将他们清楚地显示在屏幕中。结合上述分析,该系统应包括一下模块:新增联系人,保存联系人,查询联系人,修改联系人,显示联系人,删除联系人,退出系统。结构图如下。总体设计方案通讯录管统理系统新]保查显修删退增存询示改除出功能描述根据以上需求分析,通讯录管理系统划分为七个功能模块,分别是新增联系人模块,保存联系人模块,查找联系人模块,修改联系人模块,显示联系人模块,删除联系人模块,读取联系人模块。其中各功能模块的具体说明如下。新增联系人模块增加联系人模块:该模块的功能是增加新的联系人信息。信息包括联系人姓名,联系人所在单位,联系人电话号码等。然后从键盘输入并逐条写入到的文件中。增加成功后提示增加联系人信息成功!保存联系人模块保存联系人模块:该模块会保存所新增联系人,修改联系人等信息到指定文件夹中。2.2.3查找联系人模块查找人事信息模块:该模块的功能是,查找文件中的联系人信息记录,从键盘输入联系人编号,输入时会判断该联系人编号是否存在,若不存在,则重新输入。若存在,则将该人事信息输出到窗口。修改联系人模块修改人事信息模块:该模块的功能是由用户输入所需修改的联系人信息编号。然后对联系人信息(姓名和电话号码等)进行修改,最后保存修改后的结果。显示联系人模块该模块将文件里的内容输出到电脑屏幕。用户可以通过该功能看到文件当中的所有联系人的信息。删除联系人模块删除人事信息模块:该模块首先由用户输入要删除的联系人的编号,根据编号删除所需的联系人信息,删除后提示联系人删除成功。删除的方法是将文件中的数据读入内存,赋给相应的结构体,并将结构体数组中将删除的后面的数据赋给前一个结构体,然后将相应数据写入文件并保存。读取联系人模块该模块将保存到文件中的联系人读取到内存中以供程序操作。退出系统模块若在系统最初运行时,选择退出系统,则系统退出运行。系统流程图r*开始显示主菜单
1新增联系人2保
存联
系人3查询联系人4修选改联系人1新增联系人2保
存联
系人3查询联系人4修选改联系人择5显示联系人显示操作结果程序源码#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>structBOOKS(intid;chartell[12],phone[12],name[31],add[20],email[30],qq[20];}books[100],*p;voidpage_title(char*menu_item)(printf(〃\t\t********************************************\n〃,menu_item);printf(〃\t\t*printf(〃\t\t*printf(〃\t\t*printf(〃\t\t*欢迎使用通讯录管理系统系统设计人:吴肖军*\n〃,menu_item);printf(〃\t\t*printf(〃\t\t*printf(〃\t\t*printf(〃\t\t*欢迎使用通讯录管理系统系统设计人:吴肖军*\n〃,menu_item);*\n〃,menu_item);*\n〃,menu_item);*\n〃,menu_item);printf(〃\t\t********************************************\n\n-%s-\n\n",menu_item);)voidreturn_confirm(void){printf(〃\n按任意键返回 \n〃);getchar();)voidbooks_add(void)〃输入模块{intn;system(〃cls〃);〃清屏page_title(〃新增联系人〃);for(n=0;n<100;n++)if(books[n].id==0)break;printf(〃序号:〃);scanf(〃%d〃,&books[n].id);printf(〃姓名:");scanf(〃%s〃,&books[n].name);printf(〃单位:〃);scanf(〃%s〃,&books[n].add);printf(〃固定电话:〃);scanf(〃%s〃,&books[n].tell);printf(〃移动电话:");scanf("%s”,&books[n].phone);printf(〃邮件:");scanf("%s”,&books[n].email);printf("QQ:");scanf("%s”,&books[n].qq);return_confirm();)intbooks_search(void)〃查找模块{intn,i=-1;charnam[30];system("cls");printf(〃请输入联系人:“);scanf("%s”,&nam);for(n=0;n<100;n++){if((strcmp(books[n].name,nam)==0)){printf(〃序号:%d\t”,books[n].id);printf(〃联系人:%s\t”,books[n].name);printf(〃单位:%s\t”,books[n].add);口腐口土£(〃固定电话:%s\t”,books[n].tell);printf(〃移动电话:%s\t”,books[n].phone);printf(〃邮件:%s\t”,books[n].email);printf("QQ:%s\n”,books[n].qq);i=n;))if(i==-1)printf("\n没有找到相关记录.\n");getchar();returni;)intbooks_change(void)〃修改模块(intn,i;system("cls");page_title(〃修改联系人信息”);printf(〃请输入要修改的联系人编号:〃);scanf("%d",&i);for(n=0;n<100;n++){if(books[n].id==i)(printf(〃修改联系人:〃);scanf(〃%s〃,books[n].name);printf(〃修改单位:〃);scanf(〃%s〃,books[n].add);printf(〃修改固定电话:〃);scanf(〃%s〃,books[n].tell);printf(〃修改移动电话:”);scanf("%s”,books[n].phone);printf(〃修改邮件:”);scanf("%s”,books[n].email);printf(〃修改QQ:");scanf("%s”,books[n].qq);printf(〃修改联系人信息成功.\n〃);returnn;))printf(〃\n没有找到相关记录.\n〃);getchar();return-1;) 一intbooks_show(void)〃显示模块{intn,i=1;system(〃cls〃);for(n=0;n<100;n++){if(strlen(books[n].name)!=0){printf(〃序号:%d\t〃,books[n].id);printf(〃联系人:%s\t〃,books[n].name);printf(〃单位:%s\t〃,books[n].add);口腐口土£(〃固定电话:%s\t〃,books[n].tell);printf(〃移动电话:%s\t〃,books[n].phone);printf(〃邮件:%s\t〃,books[n].email);printf(〃QQ:%s\n〃,books[n].qq);i=0;))if(i==1)printf(〃\n没有找到相关记录.\n〃);getchar();return-1;)intbooks_del(void)〃删除模块{intn,num,i;system(〃cls〃);page_title(〃删除联系人〃);printf(〃请输入所要删除的联系人的编号:\n〃);scanf(〃%d〃,&num);for(n=0;n<100;n++){if(books[n].id==num)for(i=n;i<100;i++){books[i].id=books[i+1].id;strcpy(books[i].name,books[i+1].name);strcpy(books[i].email,books[i+1].email);)printf(〃该联系人已删除.\n〃);returnn;))printf(〃没有找到相关记录\n〃);getchar();return-1;)voidbooks_save()〃保存模块(system(〃cls〃);FILE*fp;inti;p=books;if((fp=fopen(〃d:\\tt.txt〃,〃wb+〃))==NULL)(printf(〃Cannotopenfile,strikeanykeyexit!〃);getchar();exit(1);)fwrite(p,sizeof(structBOOKS),2,fp);p=books;for(i=0;i<2;i++,p++)printf(〃%5d\t%s\t%s\t%s\t%s\t%s\t%s\t\n〃,p->id,p->name,p->add,p->tell,p->phone,p->email,p->qq);fclose(fp);getchar();)voidbooks_read()(system(〃cls〃);FILE*fp;inti;p=books;if((fp=fopen(〃d:\\tt.txt〃,〃rb+〃))==NULL)(printf(〃Cannotopenfile,strikeanykeyexit!〃);getchar();exit(1);)fread(p,sizeof(structBOOKS),2,fp);p=books;for(i=0;i<2;i++,p++)printf("%5d\t%s\t%s\t%s\t%s\t%s\t%s\t\n”,p->id,p->name,p->add,p->tell,p->phone,p->email,p->qq);fclose(fp);getchar();)voidmain(void)(menu:page_title(〃操作选单”);printf(〃请用数字键选择操作\n\n");printf(〃\t\t\t1新增联系人\t\t\t2保存联系人\n〃);printf('\t\t\t3查询联系人\t\t\t4修改联系人\n〃);printf(〃\t\t\t5显示联系人\t\t\t6删除联系人\n〃);printf(〃\t\t\t7输出数据\t\t\t8退出系统\n〃);printf(〃请按数字键:\n〃);switch(getchar())(case'1'books_add();break;case'2':books_save();break;case'3':books_search();break;case'4'books_change();break;case'5'books_show();break;case'6'books_del();break;case'7'books_read();break;case'8'/*退出系统*/system(〃cls〃);
printf(〃\n〃);printf(〃\t*===============================================================*\n〃);printf(〃\t**\n〃);printf(〃\t* 谢 谢 使 用*\n〃);printf(〃\t**\n〃);printf(〃\t**\n〃);printf(〃\t* 如有疑问,请联系管理员*\n〃);*\n〃);printf(〃\t*
*\n〃);printf(〃\t**\n〃);printf(〃\t**\n〃);printf(〃\t**\n〃);printf(〃\t**\n〃);广西科技大学鹿山学院物联网152吴肖军printf(//\t^===============================================================*\n//);printf(〃\n〃);)exit(0);break;)gotomenu;)4功能测试选择新增联系人,查找联系人,显示联系人,修改联系人,删除联系人,五个功能进行测试。输出测试数据,查看文件记录检测操作结果是否符合预期设计。新增联系人1输入联系人信息4.1.2在蟒界
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年调酒师专业知识试题及答案
- 探索调酒师传统与创新的试题及答案
- 珠宝鉴定师考试的时间管理试题及答案
- 租赁耕地农机合同范本
- 阴沟清理合同范本
- 可研评估合同范本
- 原木门加工合同范本
- 2025企业劳动合同书范本
- 2025专营许可合同
- 2025年西藏拉萨市教研联合体高考模拟(三)语文试题含解析
- 小学劳动教育三上第三单元2《制作风车》课件
- 隐患排查统计分析报告
- 给小学数学教师的建议
- 中国古代文学史二复习资料
- 2024年重庆发展投资有限公司招聘笔试参考题库含答案解析
- 成熟生产线评价报告
- 足球准确传球训练技巧:提高准确传球能力掌控比赛节奏
- 自救器培训(2023年煤矿安全生产培训教师培训班随堂课程设计)
- 成人癌性疼痛护理指南解读
- 供应链安全风险评估与管理项目风险评估报告
- 2023年-2024年电子物证专业考试复习题库(含答案)
评论
0/150
提交评论