




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课名称
计算机高语言课设计C)教姓名
刘
刚本生名本生业所院系类:日:
郭勇权机械设计造及其动化机电学院C.本科生2013.7.11
课程设计评语对课程文的语平时成:总成绩:注、评阅签成绩效
课程论成绩评阅人名:2必须钢或圆笔阅用铅阅无效3如有时绩,须上评分中出,计入成绩
目录1题要2需分3总设4详设5上操36总87致8参文2
1.题目要求模手通录管系,实对机的通录行管。能求如:()看功:择此能,出下类择办类个类商类当中类,显出类所数中姓名电号码电邮。()加功:录入数。一结包:姓、话号、类办公、人类商类电邮。例:当入重的姓和话号时则示数录重复取录;当信中超15条息,储空已满不再入新据录入新据按递的序自进条目号()改功:中某人名,可此的相数进修改()除功:中某人姓时,对人的应据行删,自调整续目的号2.需求分析根题要,由联人信时放文件,以应供件输入输等操;程中要看联人息,提显、查功;要现改删除系功能所应供文的修和除操。3.总体设计以分整系统根上面需分,可这系统设分四大块如图
图系统能块图4.详细设计【细计1.主数[程序main()*******************主数********************{}2.主单主单数供用对统功的择包括览系人增联人、改系人删联人该函的程图图所。程如。图主单程图[程序void******************菜函数*****************{
n=0,w1;do{puts("\t\t***********************菜***********************\n\n");puts("\t\t\t\t1.查看系"puts("\t\t\t\t2.增加系"puts("\t\t\t\t3.修改系信息"puts("\t\t\t\t4.删除系"puts("\n\n\t\t***************************************************\n");printf("请选1-4):[]\b\b");scanf("%d",&n);{}else}while(w1==1);switch(n){case1:browse();break;*览联人块case*增加系人块*case3:modify();break;*改系模块*case*除系模块*}}3数据结构计各系信包括姓、电号、系人型电子件可使用构数组则名电、类和子邮作结体成。struct*系结体*{name[20];*系人名*tel[11];*系人话*type;*联系类:为办公;2为人;3为务*email[30];*联系电邮件*}mem[N];*N为全局量表能够存联系数*4.浏联系人块[需求分该块功是使户以浏或分浏览联人信。图所示当户输1、、,分显办公联人个人联人、务联人和有系人
图浏联人模流图[程序void*********览系函数**********{m,n=0,w1;do{******************询系********************");puts("\t\t\t\t1.查询公联系"*查办公联人*puts("\t\t\t\t2.查询人联系"*查个人联人*puts("\t\t\t\t3.查询务联系"*询务联系*puts("\t\t\t\t4.查询有系人"*查所有系*puts("\t\t\t\t5.返回菜");*回单*printf("请键数1-5)选择[]\b\b");scanf("%d",&n);{}else}while(w1==1);if(n==1){*示公类系*信息已示,任键返菜\n");
system("pause");*暂停统作*}else{printf_per(m);*显个类联人*信息已示,任键返菜\n");system("pause");*暂停统作*}else{printf_com(m);*显示务联系*信息已示,任键返菜\n");system("pause");*暂停统作*}else{printf_all(m);*显示务联人*信息已示,任键返菜\n");system("pause");*停统作*}else{}}5.增联系人块[求析]该块功是使户现增新系的功,键盘入联人信并入到文中该模流图如四示[程序void{*m为现联人数*
*加联人信,将系人量入m*{图增联人模流图printf("储存间足!\n");printf("按任键回菜system("pause");}else{输联人姓:");*输联系姓**联人姓保至构体*输联人电号:");scanf("%s",mem[m].tel);do*选择系类语句*{puts("\n\n\n\n\n:\n\n\n请选择系类型");puts("1,办公类t");puts("2,个人类t");puts("3.商务类t");请入字选联人类:[]\b\b");scanf("%d",&n);if((n!=1)&&(n!=2)&&(n!=3)){}else}while(w1==1);
switch(n)*联人类信存结构中*{casecasecase}输联人电邮地:");}do{puts("定存?是否[if(t<1||t>2){}else}while(w2==1);if(t==1){{if(strcmp(mem[i].name,mem[m].name)==0){姓已在!能储,按意返回单");for(j=0;j<20;j++)for(j=0;j<11;j++)for(i=0;i<30;i++)mem[m].email[j]='\0';system("pause");}if(strcmp(mem[i].tel,mem[m].tel)==0){姓已在!能储,按意返回单");
for(j=0;j<20;j++)for(j=0;j<11;j++)for(i=0;i<30;i++)mem[m].email[j]='\0';system("pause");}}*存系信息文文档*puts("息存储puts("下所有:puts("按意键回单);system("pause");}if(t==2)*如用不保,将刚存结体中数删除*{for(i=0;i<20;i++)for(i=0;i<11;i++)mem[m].tel[i]='\0';for(i=0;i<30;i++)puts("息储失!puts(":以下是有息\n");printf_all(m);puts("按意键回单);system("pause");}}6.修改联系人模块[求析]
该块功的功是示所联人息。示后,户入修改系的序,统据用输的序显用选择联人,提用需要改部分息是名电话类还是子箱根据户选择改应信息程void{puts("下所信息:\t");printf_all(m);*示有息,便户认所修的信*do{puts("输您想改联人数代,或0退出");scanf("%d",&n);{}else}while(w1==1);if(n==0)do{puts("\t\t\t\t1,姓名");puts("\t\t\t\t2.电话码");puts("\t\t\t\t3.类型");puts("\t\t\t\t4.电子件");puts("\t\t\t\t0.退出");请入想修的型数代,按0退出:");if(t<0||t>4){}
else}while(w2==1);图修联人模流图if(t==1)modify_name(n,m);*改姓函n为修的系编;m为总系人*if(t==2)*改话数为要修的联人号m为联人数*if(t==3)modify_type(n,m);*改型函,n为修的系编;m为总系人*if(t==4)*修函数n为要改联人号;为总系数*if(t==0)}7.删除联系人模块[需求分该块先示现所联系,示成后用输入删的系人号删除式将据结构中除,后后的记向移。除后记录存文件。[程序void{m,n,w1,w2,t,i;puts("下所信息:\t");
printf_all(m);do{puts("输您想删的系人字号]\b\b");scanf("%d",&n);{}else}while(w1==1);do*do语控制户输入使户能输或者2*{puts("确要删此系:");您确定删除?是
否");
图删联人模if(t<1||t>2){}else}while(w2==1);if(t==2){puts("息保留请任键反菜\system("pause");}if(t==1){for(i=0;i<20;i++)mem[n-1].name[i]='\0';for(i=0;i<11;i++)mem[n-1].tel[i]='\0';for(i=0;i<30;i++)mem[n-1].email[i]='\0';move(n,m);puts("息删除请任键反菜\system("pause");}}8.公共函数以为模中可用的一公函。(1)载联人信函数:intload()[说明
该数于文件的据加至构中,且以返现联人的目[程序{FILEi,j;if((fp=fopen("E:\\vc以只读式开一二制件*{不能到息");}fread(&mem[i],sizeof(struct文中的据载结构中*fclose(fp);*闭件*通过测系姓名为空判联人数*return(j);*回有系人量*}(2)存所联系函数:voidsave(intm)[说明该数参表示有构体最一个素下。该数体如[程序voidm)表示有构中最一元素下*{*,只有个素,进save_1函数对件进只操*else{*m>0时首进save_1函新一个件,时的数保;然进save_2函,到mem[m]的据追至件*save_2(m);}}该含个函数save_1()和m),结体只有个素即时只行一个数新建个件将数存文件;果构体多一个素即时,首执第一函新一个件然后行二函数将构体下大0的数存文件。[程序voidsave_1()
{FILEif((fp=fopen("E:\\vcprogrammes\\members.txt","wb"))==NULL){不能到息");}fclose(fp);}[程序voidm){i;FILEif((fp=fopen("E:\\vcprogrammes\\members.txt","ab"))==NULL){不能到息");}fwrite(&mem[i],sizeof(structmember),1,fp);fclose(fp);}(3)显示所联系函数:voidprintf_all(intm)[说明形m表现联系的目用以制出联人数。该数于出所的系人信。[程序void{i;以下所联系:");printf("\n\nNO.电邮
姓名
电话号码类型*判断系人别输出*{if(mem[i].type==1)printf("%2d
办公类
if(mem[i].type==2)printf("%2d%-20s%-11s
个人
类
if(mem[i].type==3)printf("%2d%-20s
商务类
}}(4)示办类联人函数:voidprintf_cle(intm)[说明形m表现联系数。以控循终点该数于输所办类联人息。[程序voidprintf_cle(intm){i;公类系");邮
电号类型printf("\n\n姓名if(mem[i].type==1)*判联系是属办公*
电%-11s
办
公类
%-30s\n",mem[i].name,mem[i].tel,mem[i].email);}(5显示个类联人函数:voidprintf_per(intm)[说明形m表现联系数。以控循终点该数于输所个联系信。[程序voidm){i;个人类系:");邮
电号型printf("\n\n姓名if(mem[i].type==2)*断联人否属个类*
电%-11s
个
人类
%-30s\n",mem[i].name,mem[i].tel,mem[i].email);}(6显示商类联人函数:voidprintf_com(intm)[说明
形m表现联系数。以控循终点该数于输所商类联人息。[程序voidm){i;商务联人:");邮
电号类型printf("\n\n姓名if(mem[i].type==3)*判联人是属商务*
电%-11s
商
务类
%-30s\n",mem[i].name,mem[i].tel,mem[i].email);}(7显示某联系函数:printf_one(intm)[说明形m表现联系数。以控循终点该数于输某指联系信。[程序voidprintf_one(intm){姓名
电号型
电邮*个语句断系人型*%-11s类%-30s\n",mem[m-1].name,mem[m-1].tel,mem[m-1].email);类%-30s\n",mem[m-1].name,mem[m-1].tel,mem[m-1].email);
办公个商类
%-30s\n",mem[m-1].name,mem[m-1].tel,mem[m-1].email);}(8修改姓函数voidmodify_name(intm)[说明该数于改联人名。参n用输入要改联系序;m表示有系人数。[程序voidm){*于存用输的改后联人姓*
i,t,w1;puts("输新名");scanf("%s",mod_name);do{puts("定存储是2.否[if(t<1||t>2){}else}while(w1==1);if(t==1)*当用输入1,确修改,原存在构中联人姓删除并将的系姓名到构体*{for(i=0;i<20;i++)mem[n-1].name[i]='\0';save(m-1);puts("存功,任键续...");system("pause");modify();}if(t==2){for(i=0;i<20;i++)mod_name[i]='\0';puts("息储失,任键继system("pause");modify();}}(9)修电话函数n,int[说明该数于改联人话。参n用输入要改联系序;m表示有系人
数。[程序voidmodify_tel(intm){i,t,w1;puts("输新话号:");scanf("%s",mod_tel);do{puts("定存吗?是2.[]\b\b");if(t<1||t>2){}else}while(w1==1);if(t==1){for(i=0;i<11;i++)mem[n-1].tel[i]='\0';strcpy(mem[n-1].tel,mod_tel);save(m-1);puts("存功!任键续...");system("pause");modify();}if(t==2){for(i=0;i<11;i++)puts("息储失!任键继system("pause");modify();}}
(10修改系人型函数:voidmodify_type(intn,intm)[说明该数于改联人话。参n用输入要改联系序;m表示有系人数。[程序voidm){do*while语句制户的入使用只输—{puts("\t\t\t\t1,办公");puts("\t\t\t\t2,个人");puts("\t\t\t\t3.商务");puts("\t\t\t\t请择类[]\b\b");scanf("%d",&t1);if(t1<1||t1>3){}else}while(w1==1);do{puts("定存吗?是2.]\b\b");scanf("%d",&t2);if(t2<1||t2>2){}else}while(w1==1);*用户认存时,t2的值为修后数据存结构中运函后存文件*{mem[n-1].type=t1;save(m-1);
}()
puts("存功!任键续...");system("pause");modify();}*用确认保时,值为2,户入修改息清*{t1=0;puts("息储失!任键继system("pause");modify();}修改email数:modify_email(intn,intm)[说明该数于改联人话。参n用输入要改联系序;m表示有系人数。[程序voidm){i,t,w1;puts("输新子邮地:");scanf("%s",mod_email);do{puts("定存吗?是2.[]\b\b");if(t<1||t>2){}else}while(w1==1);if(t==1){for(i=0;i<30;i++)
mem[n-1].email[i]='\0';save(m-1);puts("存功!任键续...");system("pause");modify();}if(t==2){for(i=0;i<30;i++)mod_email[i]='\0';puts("息储失!任键继system("pause");modify();}}()移函数void[说明形表示动的点为动的点该函用用将某联人信删后排在该系之的数向移动[程序]voidmove(intm)*n是移的起;是移的终*{i,j;*采循赋值法将后的据前,将面的据除*{*将面的据给前*for(j=0;j<20;j++)*将面数据除准下一的值*mem[i].name[j]='\0';strcpy(mem[i-1].tel,mem[i].tel);for(j=0;j<11;j++)mem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粒缺患者宣教调查问卷(护士版)
- 2025年卫浴柜行业投资分析:卫浴柜行业投资前景广阔
- 2025年互联网发展趋势:数字化助力乡村振兴的数据洞察
- 山东省枣庄市市中区2024-2025学年高二上学期期末阶段性质量监测数学试题(解析版)
- 2025年中考语文名著阅读考点演练《艾青诗选》:如何读诗(九年级上) 答案版
- 绿化带恢复施工方案
- 2025年简单护理面试题及答案
- 低密度脂蛋白3.62胆固醇6.27脂蛋白499
- cause的用法归纳与总结
- 4年级上册第四单元英语人教点读
- 《祖父的园子》PPT课件【精美版】
- 2023年安徽审计职业学院单招职业适应性测试题库及答案解析
- LS/T 3311-2017花生酱
- 苏教版二年级科学下册第10课《认识工具》教案(定稿)
- GB/T 40262-2021金属镀膜织物金属层结合力的测定胶带法
- GB/T 3279-2009弹簧钢热轧钢板
- GB/T 16823.3-2010紧固件扭矩-夹紧力试验
- 应用文写作-第四章公务文书(请示报告)课件
- Premiere-视频剪辑操作-课件
- 麻醉药理学阿片类镇痛药PPT
- 新湘版小学科学四年级下册教案(全册)
评论
0/150
提交评论