您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言课程设计报告 手机通讯录管理
#includestdio.h#includestring.h#includestdlib.h#includeconio.h#defineN100voidwork();voidprintf_one(inti);voidprintf_back();voidprintf_face();voidadd();voidbrowse();voidbusiness();voidgroupinput(inti);voidinput(inti);voidmainmenu();voidpersonal();intsave(intn);intmodify_data(inti,intn);voidsearch();intload();structstudent{charname[20];charphone[20];chargroup[20];chare_mail[40];}stu[N];intload()//**************************加载函数统计数字{FILE*fp;inti;if((fp=fopen(data.txt,r))==NULL){printf(\n无法打开文件\n);exit(0);}for(i=0;fread(&stu[i],sizeof(structstudent),1,fp)0;i++);fclose(fp);return(i);}voidprintf_one(inti)//**************显示一个纪录的函数{printf(\n姓名:%s\n电话号码:%s\n组别:%s\ne_mail:%s\n\n,stu[i].name,stu[i].phone,stu[i].group,stu[i].e_mail);//printf(%s%s%s%s\n,stu[i].name,stu[i].phone,stu[i].group,stu[i].e_mail);}voidprintf_face()//****************显示数据结构项目结构{puts();//printf(\n\t姓名[]电话号码[]组别[]e_mail\n);}voidgroupinput(inti)//********************组别输入函数{intn,w1;do{puts(\t\t***********group-menu************\n\n);puts(\t\t\t\t1.办公类);puts(\t\t\t\t2.个人类);puts(\t\t\t\t3.商务类);puts(\n\n\t\t**********************************\n);printf(请输入要查询记录的相关类别:);scanf(%d,&n);if(n3||n1){puts(\n输入有误,请输入正确的序列号!);w1=1;getchar();}elsew1=0;}while(w1==1);switch(n){case1:printf(请输入\“办公类\”仅三个汉字否则系统错误\n);scanf(%s,&stu[i].group);break;case2:printf(请输入\“个人类\”仅三个汉字否则系统错误\n);scanf(%s,&stu[i].group);break;case3:printf(请输入\“商务类\”仅三个汉字否则系统错误\n);scanf(%s,&stu[i].group);break;}}voidinput(inti)//******************************输入函数{intn=i,j;printf(请输入姓名);scanf(%s,&stu[i].name);printf(请输入号码);scanf(%s,&stu[i].phone);for(j=0;jn;j++)if(j!=i&&strcmp(stu[j].name,stu[i].name)==0&&strcmp(stu[j].phone,stu[i].phone)==0){puts(该号码已存在\n);}printf(请输入e_mail\n\n);scanf(%s,stu[i].e_mail);groupinput(i);}voidprintf_back()//************************一个任务结束时选择浏览还是返回的函数{voidmainmenu();intw;printf(\n\n\tSuccessfull.^_^.!\n\n);printf(Whatdoyouwanttodo?\n\n\t1).分组浏览\t2).返回主菜单:[]\b\b);scanf(%d,&w);if(w==1)browse();elsemainmenu();}voidmainmenu()//*******************************************主菜单{intn,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(***************************************************);printf(选择数字(1-4):[]\b\b);scanf(%d,&n);if(n1||n4){w1=1;getchar();}elsew1=0;}while(w1==1);switch(n){case1:add();break;case2:browse();break;case3:search();break;case4:exit(0);}}voidadd()//********************************添加函数{intload();inti,n,m,k;FILE*fp;n=load();printf(你可以添加人数(0-%d)个,请输入你想添加的人数,N-1-n);scanf(%d,&m);k=m+n;for(i=n;ik;i++){printf(\n请输入第%d个人的信息\n,i-n+1);input(i);}if((fp=fopen(data.txt,a+))==NULL)printf(无法打开文件\n);//fseek(fp,0,2);for(k=0,i--;km;k++){fwrite(&stu[i],sizeof(structstudent),1,fp);i--;}fclose(fp);printf_back();}voidwork()//*************************办公类浏览函数{intload();inti,n,num=0;n=load();printf_face();for(i=0;in;i++)if(strcmp(stu[i].group,办公类)==0){printf_one(i);num++;}printf(\t共有%d个记录,本组包括%d个,n,num);printf(\n按任意键返回主菜单);getch();mainmenu();}voidpersonal()//*************************个人类浏览函数{intload();inti,n,num=0;n=load();printf_face();for(i=0;in;i++)if(strcmp(stu[i].group,个人类)==0){printf_one(i);num++;}printf(\t共有%d个记录,本组包括%d个,n,num);printf(\n按任意键返回主菜单);getch();mainmenu();}voidbusiness()//************************商务类浏览函数{intload();inti,n,num=0;n=load();printf_face();for(i=0;in;i++)if(strcmp(stu[i].group,商务类)==0){printf_one(i);num++;}printf(\t共有%d个记录,本组包括%d个,n,num);printf(\n按任意键返回主菜单);getch();mainmenu();}voidbrowse_all(){inti,n;intload();voidprintf_face();voidprintf_one(inti);voidmainmenu();n=load();printf_face();for(i=0;in;i++){if((i!=0)&&(i%5==0)){printf(\n\nPressanykeytocontinue...);getchar();puts(\n\n);}printf_one(i);}printf(\tThereare%drecord.\n,n);printf(\nPressanykeytoback...);getchar();mainmenu();}voidbrowse()//***************************分组浏览函数{intn,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\t\t*************************************\n);puts(请输入你想浏览的组别号:[]\b\b);scanf(%d,&n);if(n1||n4){w1=1;puts(\n输入有误,请输入正确的序列号!);}elsew1=0;}while(w1==1);switch(n){case1:work();break;case2:personal();break;case3:business();break;case4:mainmenu();break;}}intsave(intn)//******************************保存函数{FILE*fp;inti;if((fp=fopen(data.txt,wb))==NULL){printf(\ncannotopenfile\n);return0;}for(i=0;in;i++)if(stu[i].phone[0]!='0')if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)printf(error\n);fclose(fp);}intmodify_data(inti,intn)//******************************修改数据函数{intc,w1,j;do{puts(\n修改:1).姓名;2}.号码;3}.组别;4}e_mail\n5}全部数据u;6)取消并返回);printf(请选择需要修改的对象:[]b\b);scanf(%d,&c);if(c6||c1){puts(\n输入有误,请输入正确的序列号!);getchar();}}while(c6||c1);do{switch(c){case1:puts(姓名);scanf(%s,&stu[i].name);for(j=0;jn;j++)if(j!=i&&strcmp(stu[j].name,stu[i].name)==0&&strcmp(stu[j].phone,stu[i].phone)==0)puts(该姓名已存在\n);break;case2:puts(phone);scanf(%s,&stu[i].phone);for(j=0;jn;j++)if(j!=i&&strcmp(stu[j].name,stu[i].name)==
本文标题:C语言课程设计报告 手机通讯录管理
链接地址:https://www.777doc.com/doc-3259601 .html