版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C专 业软件工班 1C***——CC能CC二、设计资料及参数现有一批的数椐,要求输入算机并存放在存中,然后增加若干个新的记,并可输出清单,实现文件存盘和读入文件进行修改的功能。的基本信息包括编号,姓,号号,件,。要求单调用功能新文件文件存信息文件输入记输出记录记有,以姓和以号)修改插入和删除记录三、设计要求及成果分析需组或链表多人最多 3人)协作)写出详细说明包括功能实现分析和流图)编写序,调试序能运行写要,要知意,要有要的注,每3数,每200,不包括和括号)完成的软件要便于操作和使用完成后提交报告请严格按照板进行排版)四、进度安排第一天?选择,分析的要求第二天程第三天?编调试第四天?写第五天?提交报告印稿及稿)五、评分标准根据平上机考勤表现和进度,将每天点和检查根据完成情况,必须有可运行的软件。根据报告的质量,有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料《C序》,谭浩强,清华出版社《C序,刘振安,机械工业出版社。!。!。第一章 33概述 3数据描述 3功能需求 3性能需求 4运行需求 4划 4章 概要!。总体!。数据类型(或数据结构) !。接口!。运行界面!。第三章 详细!。输入模块!。输出模块!。查找模块!。删除模块!。保存及读取模块!。第四章 测试分析 !。测试序执行情况 !。出现的问题和解决的方法 !。第五章 总结 !。附:序代码 !。参考文献 !。致谢 !。。任务概述. 采构体形式数进行输入输出。. 可以讯录进行简单排筛选删除。. 可以任意就行修改。. 可以把数已文件形式输入输出。. 任意浏览。数描述以所示文数位始数进行简单操作也可另行添加。以上。“编号、姓名、年龄、电话号码、通讯地址、电子邮箱”顺序编号年龄、电话号码、通讯地址、电子邮箱字格式,姓名文字(Y/N)形式判断,仅限N或者n为否,其他字符真。排序功后,要想见排序,到主菜下见浏览功任务计划1.样和出2.1未前信息4.界:后里显示记:查询界面:为例:.修改界面:保存界面:件截图:后会提示是否继续。显示表格形式出所有里的查询选择用姓名、电话、地址三种方式查询电子邮箱即完成修改数据类型(或数据结构)typedefstruct{charscore;charname[10];/*姓名*/charnum[15];/*码charemail[20];/*邮箱*/charage[8];/*年龄*/charadds[20];/*住址*/结构数组类型数据。intmenu_select()voidintInput(Personper[],intn)intvoidDisplay(Personper[],intn)int(Personper[],intn)VoidintvoidQuery_a_record(Personper[],intn)voidvoidChangevoid(Personper[],intn)voidWritetoTextvoid(Personper[],intn)voidmain() /*主*/{intn=0;for(;;){录*/*/
switch(menu_select()){case1:printf("\n\t添加记录通讯录\n"); /*添加记n=Input(pe,n);break;case2:printf("\n\t\t\t 通讯录记录\n"); /*显示记录Display(pe,n);break;case3:printf("\n\t中删除记\n");n=Delete_a_record(pe,n); /*删除记printf("\t");system("pause");break;case4:printf("\n\t在中查找记\n");Query_a_record(pe,n); /*查找记*/printf("\t");system("pause");break;case5:printf("\n\t修改中的记\n");Change(pe,n); /**/printf("\t");system("pause");break;case6:printf("\n\t保存功能\n");/**/printf("\t");system("pause");break;case0:printf("\n\t\t谢谢使用再见!\n"); /*结束程序*/printf("\n\t\t");system("pause");exit(0);}}}以switch为关键控制选着要调用函数的开关,然后以主菜单为主界面,其他intmenu_select(){chardo{system("cls");printf("\t\t**********\n");printf("\t\t| 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");printf("\t\t请您选择(0-6):");c=getchar();}while(c<'0'||c>'6');return(c-'0');}如图所示要三章 详细设计输入模块设计intInput(Personper[],intn){inti=0;charsign,x[10];while(sign!='n'&&sign!='N'){printf("\t编号:");scanf("\t%d",&per[n+i].score);printf("\t姓名:");scanf("\t%s",per[n+i].name);printf("\t年龄:");scanf("\t%s",per[n+i].age);printf("\t电话号码:");scanf("\t%s",per[n+i].num);printf("\t通讯住址:");scanf("\t%s",per[n+i].adds);printf("\t电子邮箱:");scanf("\t%s",per[n+i].email);gets(x);printf("\n\t是否继续添加?(Y/N)");scanf("\t%c",&sign);i++;}return(n+i);}输出模块设计voidDisplay(Personper[],intn){inti;printf(" \n");/*格式*/printf("编号姓名龄码址电子邮箱\n");printf(" \n");for(i=1;i<n+1;i++){printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);if(i>1&&i%10==0){printf("\t \n");printf("\t");system("pause");printf("\t \n");}}printf(" \n");system("pause");}33 voidQuery_a_record(Personper[],intn){intm;printf("\t\n:\n");printf("\t│1------\n");printf("\t│2------\n");printf("\t│3------\n");printf("\t│4------\n");printf("\t└──────┘\n");printf(":");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){scanf("%d",&m);}if(m==1){chars[20];inti=0;printf("\t输入想的姓名:");scanf("\t%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t中没有此人return;}printf("\t此人编号:%d\n",per[i].score);printf("\t此人年龄%s\n",per[i].age);printf("\t电话号码%s\n",per[i].num);printf("\t地址%s\n",per[i].adds);printf("\t电子邮箱%s\n",per[i].email);};if(m==2){chars[20];inti=0;printf("\t请输入想查询的电话:");scanf("\t%s",s);while(strcmp(per[i].num,s)!=0&&i<n)i++;if(i==n){printf("\t中没有此人return;}printf("\t此人编号:%d\n",per[i].score);printf("\t此人姓名:%s\n",per[i].name);printf("\t此人年龄%s\n",per[i].age);printf("\t地址%s\n",per[i].adds);printf("\t电子邮箱%s\n",per[i].email);};if(m==3){chars[20];inti=0;printf("\t请输入想查询的地址:");scanf("\t%s",s);while(strcmp(per[i].adds,s)!=0&&i<n)i++;if(i==n){printf("\t中没有此人return;}printf("\t此人编号:%d\n",per[i].score);printf("\t%s\n",per[i].name);printf("\t%s\n",per[i].age);printf("\t%s\n",per[i].num);printf("\t%s\n",per[i].email);};}intDelete_a_record(Personper[],intn){chars[20];inti=0,j;printf("\t中的字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t通讯中没有return(n);}for(j=i;j<n-1;j++){strcpy(per[j].num,per[j+1].num);strcpy(per[j].name,per[j+1].name);strcpy(per[j].age,per[j+1].age);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].email,per[j+1].email);per[j].score=per[j+1].score;}printf("\t\t\t已经成功}更改voidChange(Personper[],intn){chars[20];inti=0;printf("\t修改的中的字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t中没有此人return;}printf("\t编号:");printf("\t姓名:");scanf("\t%s",per[i].name);printf("\t年龄:");scanf("\t%s",per[i].age);printf("\t电话号码:");scanf("\t%s",per[i].num);printf("\t住址:");scanf("\t%s",per[i].adds);printf("\t电子邮箱:");scanf("\t%s",per[i].email);printf("\t修改成功!");}保存模块设计voidWritetoText(Personper[],intn){inti=0;FILE*fp; /*定义文件指针charfilename[20]; /*定义文件名printf("\t保存到文件\n"); /*输入文件名printf("\t请输入所保存的文件名:");scanf("\t%s",filename);if((fp=fopen(filename,"w"))==NULL){printf("\t无法打开文件\n");system("pause");return;}fprintf(fp,"****************************************** 通讯录******************************************\n");fprintf(fp,"编号 姓名 年龄 电话号码 地电子邮箱\n");fprintf(fp," \n");while(i<n){fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email);i++;}fprintf(fp," \n");fprintf(fp,"*************************************** %d 录****************************************\n",n);fclose(fp); /*printf("}voidmain() {intn=0;for(;;){switch(menu_select()){case1:printf("\n\t\n"); /*n=Input(pe,n);break;case2:printf("\n\t\t\t \n"); /*Display(pe,n);break;case3:printf("\n\t中删除\n");n=Delete_a_record(pe,n); 删除printf("\t");system("pause");break;case4:printf("\n\t在中查找\n");Query_a_record(pe,n); 查找printf("\t");system("pause");break;case5:printf("\n\t中的记\n");Change(pe,n); printf("\t");system("pause");break;case6:printf("\n\t保存功能\n");保存数据printf("\t");system("pause");break;case0:printf("\n\t\t谢谢使用,再见!\n"); /*结束程序printf("\n\t\t");system("pause");exit(0);}}}主菜单界面添加界面:界面:删除界面:删除后,通讯录里的显示记录:查询界面:为例:.修改界面:修改后,通讯录里的显示记录:7及yu;,。C的在少是个用了多,十分小心,有时while和do-while区别也十分重。还有体会老师教内容有限需不断地靠自己,,了解和掌握多知识,能出好C程。体C还比较成功虽然最终还存在些不足,但能取样成绩还比较高兴。机和好帮助与支持。附录:代码 #include<>#include<>#include<>typedefstruct{charscore; /*charname[10]; /*charnum[15]; /*charemail[20]; charage[8]; charadds[20]; }Person;Personpe[80];intmenu_select(){charc;do{system("cls");printf("\t\t**********\n");printf("\t\t| 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");printf("\t\t请您选择(0-6):");c=getchar();}while(c<'0'||c>'6');return(c-'0');}intInput(Personper[],intn){inti=0;charsign,x[10];while(sign!='n'&&sign!='N'){printf("\t编号:");printf("\t姓名:");scanf("\t%s",per[n+i].name);printf("\t年龄:");scanf("\t%s",per[n+i].age);printf("\t电话号码:");scanf("\t%s",per[n+i].num);printf("\t:");scanf("\t%s",per[n+i].adds);printf("\t电子邮箱:");scanf("\t%s",per[n+i].email);gets(x);printf("\n\t?(Y/N)");scanf("\t%c",&sign);i++;}return(n+i);}voidDisplay(Personper[],intn){inti;printf(" \n");printf("址\n");printf(" \n");for(i=1;i<n+1;i++){printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);if(i>1&&i%10==0){printf("\t \n");printf("\t");system("pause");printf("\t \n");}}printf(" \n");system("pause");}intDelete_a_record(Personper[],intn){chars[20];inti=0,j;printf("\t中的字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t中没有此人return(n);}for(j=i;j<n-1;j++){strcpy(per[j].num,per[j+1].num);strcpy(per[j].name,per[j+1].name);strcpy(per[j].age,per[j+1].age);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].email,per[j+1].email);per[j].score=per[j+1].score;}printf("\t\t\t}voidQuery_a_record(Personper[],intn){intm;printf("\t\n:\n");printf("\t│1------\n");printf("\t│2------\n");printf("\t│3------\n");printf("\t│4------\n");printf("\t└──────┘\n");printf(":");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){scanf("%d",&m);}if(m==1){chars[20];inti=0;printf("\t输入想的姓名:");scanf("\t%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}printf("\t%d\n",per[i].score);printf("\t%s\n",per[i].age);printf("\t%s\n",per[i].num);printf("\t%s\n",per[i].adds);printf("\t%s\n",per[i].email);};if(m==2){chars[20];inti=0;printf("\t:");scanf("\t%s",s);while(strcmp(per[i].num,s)!=0&&i<n)i++;if(i==n){printf("\t中没有return;}printf("\t%d\n",per[i].score);printf("\t姓名:%s\n",per[i].name);printf("\t%s\n",per[i].age);printf("\t%s\n",per[i].adds);printf("\t%s\n",per[i].email);};if(m==3){chars[20];inti=0;printf("\t:");scanf("\t%s",s);while(strcmp(per[i].adds,s)!=0&&i<n)i++;if(i==n){printf("\t中没有return;}printf("\t%d\n",per[i].score);printf("\t姓名:%s\n",per[i].name);printf("\t%s\n",per[i].age);printf("\t%s\n",per[i].num);printf("\t%s\n",per[i].email);};}voidChange(Personper[],intn){chars[20];inti=0;printf("\t中名字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t通讯中没有此人return;}printf("\t编:");printf("\t姓名:");scanf("\t%s",per[i].name);printf("\t年龄:");scanf("\t%s",per[i].age);printf("\t:");scanf("\t%s",per[i].num);printf("\t通讯住址:");scanf("\t%s",per[i].adds);printf("\t:");scanf("\t%s",per[i].email);printf("\t成功!");}voidWritetoText(Personper[],intn){inti=0;FILE*fp; /*定义文件指针charfilename[20]; /*定义文件名printf("\t保存到文件\n"); /*文件名printf("\t所保存文件名:");scanf("\t%s",fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年药学专业考试复习全攻略
- 晋中联通2026招聘法律事务题
- 2026年城市广场管理知识测试题
- 2026年福建泉州发展集团权属企业开源集团、发展地产集团招聘工作人员考试备考试题及答案解析
- 2026福建三明三元区人社系统见习单位招聘就业见习人员4人考试模拟试题及答案解析
- 2026重庆涪陵区事业单位“绿色通道”引进人才30人考试备考题库及答案解析
- 2026年数字文旅沉浸式云游题库
- 2026年强对流天气识别与预警题库
- 2026年2027年建筑工程高级工程师笔试模拟题集及BIM应用解析
- 2026天津泰达资产运营管理有限公司招聘1人考试备考试题及答案解析
- 交管12123驾照学法减分题库500题(含答案)
- 广东佛山市顺德区2024-2025学年八年级物理下册期末试卷(解析版)
- 中学体育体能教案
- 2026年入团团员知识考试题库100题及答案
- 牛场安全防疫培训课件
- 网络信息茧房的形成机制与破局路径研究毕业答辩
- 消渴目病中医辨证施护体系与临床护理方案
- 化工厂人员定位施工方案
- 2025小学五年级英语阅读理解专项训练50篇
- (16)普通高中体育与健康课程标准日常修订版(2017年版2025年修订)
- 国企财务预算编制实操案例
评论
0/150
提交评论