c语言通讯录源代码_第1页
c语言通讯录源代码_第2页
c语言通讯录源代码_第3页
c语言通讯录源代码_第4页
c语言通讯录源代码_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

structperson(charname[15];charsex[2];intnianling;longintyoubian;charaddr[50];charcelephone[22];charhomephone[22];charcompany[20];charemail[40];longintQQ;}per[500];intnum=0;〃*外部变量num为文件中的纪录数*〃FILE*fp;voidmainmenu();//*主菜单*//voidnewrecord();//新添2己录*//voidxiugaimenu();〃*修改菜单*〃voidxiugaibyname();〃*按姓名修改*〃voidxiugaibycelephone();〃*按手机号码修改*〃voidxiugaixiangmu(inta);〃*修改项目*〃voidsearchmenu();〃*查询菜单*〃voidsearchbyname();〃*按姓名查询*〃voidsearchbycelephone();〃*按手机号码查询*〃voidsearchbyhomephone();〃*按家庭电话号码查询*〃voidsearchbyqq();〃*按QQ查询*〃voiddeletemenu();〃*删除菜单*〃voiddeleteall();〃*删除所有信息*〃voiddeleteone();〃*删除单个*〃voidshowaH();〃*输出全部信息*〃voidreadfromfile();〃*读取文件*〃voidwritetofile();〃*写入文件*〃/voiddeletebycelephone();〃*按手机号码删除*//voiddeletebyname();〃*按姓名删除*/voidlistbycelephone();〃*按手机号码排序*〃voidlistbyname();〃*按姓名排序*〃voidlistmenu();〃*排序菜单*〃voidmain()〃*主函数*〃(system(〃cls〃);readfromfile();while(1)(mainmenu();)}〃*主函数结束*〃voidmainmenu()〃*主菜单函数*〃inta;system(〃cls〃);!个个个个排全〃xn讯甬);;;;;\7\7\7\7\7〃〃〃〃〃用AnAnAnAnAn一兄自心自心自心自心■自心稹信信信信£信次人人人人序部system(/zcolorFC〃);printf(/z\n\t您好printf(!个个个个排全〃xn讯甬);;;;;\7\7\7\7\7〃〃〃〃〃用AnAnAnAnAn一兄自心自心自心自心■自心稹信信信信£信次人人人人序部printf(/z6:输出printf(/z7:写入文件\n〃);printf(/z8:读取文件\n〃);printf(〃9:删除所有\n〃);printf(〃0:退出\n〃);printf(〃 请输入您的数字选择: 〃);loopl:scanf(〃%d〃,&a);switch(a)(case1:newrecord();break;case2:searchmenu();break;case3:deletemenu();break;case4:xiugaimenu();break;case5:listmenu();break;case6:showall();break;case7:writetofile();break;case8:readfromfile();break;case9:deleteall();break;case0:exit(0);default:printf(〃对不起!您的输入有误!请重新输入〃);gotoloopl;))voidnewrecord()//*添力口纪录*//(inta;system(〃cls〃);system("color2a〃);loop: printf(/z\n\n\n\n\t\t请输入您要添加的联系人的信息:\n〃);printf(〃\n请输入姓名:\n〃);name:scanf(〃%s〃,&per[num].name);if(strlen(per[num].name)>15)(printf(〃对不起!您的输入有误!请重新输入〃);gotoname;)printf(〃\n请输入性别:\n〃);sex:scanf(〃%s〃,&per[num].sex);if(strlen(per[num].sex)==0)(printf(〃对不起!您的输入有误!请重新输入〃);gotosex;)printf(〃\n请输入年龄:〃);nianling: scanf(〃%d〃,&per[num].nianling);if(per[num].nianling<10||per[num].nianling>110)(printf(〃对不起!您的输入有误!请重新输入〃);gotonianling;)printf(〃\n请输入邮编\n〃);youbian: scanf(〃%d〃,&per[num].youbian);if(per[num].youbian<10000||per[num].youbian>999999)(printf(〃对不起!您的输入有误!请重新输入〃);gotoyoubian;printf("\n请输入地址\n");addr:scanf("%s”,&per[num].addr);if(strlen(per[num].addr)>50||strlen(per[num].addr)<4)(printf(〃对不起!您的输入有误!请重新输入\口〃);gotoaddr;)printf(〃\n请输入手机号码:\n〃);celephone: scanf(〃%s〃,&per[num].celephone);if(strlen(per[num].celephone)!=11)(printf(〃对不起!您的输入有误!请重新输入\口〃);gotocelephone;)printf(〃\n请输入家庭电话号码:\n〃);homephone:scanf(〃%s〃,&per[num].homephone);if(strlen(per[num].homephone)!=11)(printf(〃对不起!您的输入有误!请重新输入\口〃);gotohomephone;)printf(〃\n请输入公司名称:〃);company: scanf(〃%s〃,&per[num].company);if(strlen(per[num].company)>20||strlen(per[num].company)<10)(printf(〃对不起!您的输入有误!请重新输入〃);gotocompany;printf(〃\n输入电子邮箱:〃);email:scanf(〃%s〃,&per[num].email);if(strlen(per[num].email)>30||strlen(per[num].email)<4)(printf(〃对不起!您的输入有误!请重新输入〃);gotoemail;)printf(〃\n输入QQ号码:〃);QQ:scanf(〃%ld〃,&per[num].QQ);if(per[num].QQ>1600000000||per[num].QQ<10000000)(printf(〃对不起!您的输入有误!请重新输入〃);gotoQQ;)num++;printf(〃\n是否继续添加?\n〃);口厂皿土£〃\口请按1和2(1代表继续;2代表不继续)\n〃);printf(〃请输入您的选择〃);scanf(〃%d〃,&a);if(a==1)(gotoloop;)else(return;))voidsearchmenu()〃*查询菜单*〃inta;system(〃cls〃);system("color2a〃);printf(/z\n\t\t欢迎使用查询单〃);printf('\n\t\tl-按手机号码查询〃);printf('\n\t\t2-按姓名查询〃);printf('\n\t\t3-按家庭电话号码查询〃);printf('\n\t\t4-按QQ查询〃);printf('\n\t\t5-返回主菜单〃);printf(〃\n\t\t〃);printf(〃请输入您的选择〃);scanf(〃%d〃,&a);switch(a)(case1:searchbycelephone();break;case2:searchbyname();break;case3:searchbyhomephone();break;case4:searchbyqq();break;case5:mainmenu();break;))voidsearchbycelephone()〃*按手机号码查询*〃(intmark=0;inti,j;inta=0;charcelephone[11];printf(/z\n 按手机号码查找 \n〃)printf(〃\n请输入手机号码:\n〃);scanf(〃%s〃,celephone);for(i=0;i<num;i++)if(strcmp(per[i].celephone,celephone)==0)printf(/z\n 以下是您查找的联系人的信息〃);printf(〃\n〃);printf(〃\n名字:%s/z,per[i].name);printf(〃\n性别I:%s〃,per[i].sex);printf(〃\n年龄:%d〃,per[i].nianling);printf(〃\n邮编:%ld/z,per[i].youbian);printf(〃\n地址:%s/z,per[i].addr);printf(〃\n手机号码:%s〃,per[i].celephone);printf(〃\n家庭电话号码:%s〃,per[i].homephone);printf(〃\n公司名称:%s〃,per[i].company);printf(〃\n电子邮件:%s〃,per[i].email);printf(〃\nQQ号码:%ld〃,per[i].QQ);printf(〃\n〃);printf(〃\n请按任意数字键返回主菜单〃);mark++;scanf(〃%d〃,&j);return;if(mark==0)printf(〃\n对不起!没有该联系人的信息!〃);printf(〃\n请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;))voidsearchbyname()〃*按姓名查询*〃(intmark=0;inti,j,findmark=0;inta=0;charname[15];printf(/z\n按姓名查找〃);printf(〃\n请输入姓名:〃);scanf(〃%s〃,name);for(i=a;i<num;i++)(if(strcmp(per[i].name,name)==0)(findmark++;printfCzW\t 以下是您查找的联系人的信息〃);printf(/z\n\t\t〃);printf(〃\n\t\t名字:%s〃,per[i].name);printf(〃\n\t\t性别:%s〃,per[i].sex);printf(〃\n\t\t年龄:%d〃,per[i].nianling);printf(〃\n\t\t邮编:%ld/z,per[i].youbian);printf(〃\n\t\t地址:%s〃,per[i].addr);printf(〃\n\t\t手机号码:%s〃,per[i].celephone);printf(/z\n\t\t家庭电话号码:%s〃,per[i].homephone);printf(〃\n\t\t公司名称:%s〃,per[i].company);printf(/z\n\t\t电子邮件:%s/z,per[i].email);printf(〃\n\t\tQQ号码:%ld〃,per[i].QQ);printf(〃\n\t\t〃);if((i+1)<num)(printfCz\n是否继续查找相同名字的联系人的信息?(1代表继续;2代表不继续)〃);scanf(〃%d〃,&j);if(j==D(a=i;mark++;continue;)elsebreak;)else(printf(〃\n请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;if(mark!=0)printf(〃\n对不起!没有相同名字的该联系人的信息!!〃)printf(〃\n请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;)elseif(findmark==0)(printf(〃\n对不起!没有该联系人的信息!〃);printf(〃\n请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;))voidsearchbyhomephone()〃*按家庭电话号码查询*〃(intmark=0;inti,j;inta=0;charhomephone[11];printf(/z\n\t\t 按家庭电话号码查找 〃);printf(〃\n请输入家庭电话号码:〃);scanf(〃%s〃,homephone);for(i=0;i<num;i++)(if(strcmp(per[i].homephone,homephone)==0)(printfCzW\t以下是您要查找的联系人的信息〃);printf(〃\n\t\t〃);printf(〃\n\t\t名字:%s〃,per[i].name);printf(〃\n\t\t性别:%s〃,per[i].sex);printf(〃\n\t\t年龄:%d〃,per[i].nianling);printf(〃\n\t\t邮编:%ld/z,per[i].youbian);printf(〃\n\t\t地址:%s〃,per[i].addr);printf(〃\n\t\t手机号码:%s〃,per[i].celephone);printf(/z\n\t\t家庭电话号码:%s〃,per[i].homephone);printf(〃\n\t\t公司名称:%s〃,per[i].company);printf(/z\n\t\t电子邮件:%s/z,per[i].email);printf(〃\n\t\tQQ号码:%ld〃,per[i].QQ);printf(〃\n\t\t〃);printf(/z\n\t\t请按任意数字键返回主菜单〃);mark++;scanf(〃%d〃,&j);return;))if(mark==0)(printf(Z/W\t对不起!没有该联系人的信息!〃);printf('\n\t\t请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;voidsearchbyqq()〃*按QQ查询*〃intmark=0;inti,j;longintQQ;printf(〃\n\t\t 按QQ号码查找\n〃);printf(〃\n请输入QQ号码:〃);scanf(〃%ld〃,&QQ);for(i=0;i<num;i++)(if(per[i].QQ==QQ)(printfCzW\t 以下是您查找的联系人的信息〃);printf(〃\n\t\t〃);printf(〃\n\t\t名字:%s〃,per[i].name);printf(〃\n\t\t性别:%s〃,per[i].sex);printf(〃\n\t\t年龄:%d〃,per[i].nianling);printf(〃\n\t\t邮编:%ld/z,per[i].youbian);printf(〃\n\t\t地址:%s〃,per[i].addr);printf(〃\n\t\t手机号码:%s〃,per[i].celephone);printf(/z\n\t\t家庭电话号码:%s/z,per[i].homephone);printf(〃\n\t\t公司名称:%s〃,per[i].company);printf(/z\n\t\t电子邮件:%s/z,per[i].email);printf(〃\n\t\tQQ号码:%ld〃,per[i].QQ);printf(〃\n\t\t〃);printf(/z\n\t\t请按任意数字键返回主菜单〃);mark++;scanf&j);return;if(mark==O)(printf(/z\n\t\t对不起!没有该联系人的信息!〃);printf(/z\n\t\t请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;))iddeletemenu()〃*删除菜单*〃inti,j;system(〃cls〃);system(/zcolor3b〃);if(num==O)(printf(〃\n\t\t对不起!文件中无任何纪录!〃);printf(/z\n\t\t请先添加个人信息!〃);printfCz\n\t\t请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;)elseprintf(/zprintf(/z\n\t\t删除菜单〃);TOC\o"1-5"\h\zprintf(/z\n\t\t 「删除单个 〃);printf(/z\n\t\t 2-返回主菜单 〃);printf(〃\n\t\t 〃);printf(/z\n\t\t请输入您的数字选择: 〃);loop4:scanf(〃%d〃,&i);switch(i)case1:deleteone();break;case2:mainmenu();break;default:printf(〃对不起!您的输入有误!请重新输入〃);gotoloop4;voiddeleteone()〃*删除单个*〃inti;printf(〃\n\t\t「按手机号码删除2-按姓名删除〃);printf('\n\t\t请输入您的选择:〃);loop5:scanf(〃%d〃,&i);;switch(i)(case1:deletebycelephone();break;case2:deletebyname();break;default:printf(〃对不起!您的输入有误!请重新输入:〃);gotoloop5;voiddeletebyname()〃姓名删除*〃inta=0;intfindmark=O;inti,j,k;intdeletemark=O;charname[15];printf(/zW\t请输入您要删除的联系人的姓名:〃);scanf(〃%s〃,name);for(i=a;i<num;i++)(if(strcmp(per[i].name,name)==0)(printfCWU以下是您要删除的联系人的纪录:〃);findmark++;printf(〃\n\t\t〃);printf(〃\n\t\t名字:%s〃,per[i].name);printf(〃\n\t\t性别:%s〃,per[i].sex);printf(〃\n\t\t年龄:%d〃,per[i].nianling);printf(〃\n\t\t邮编:%ld/z,per[i].youbian);printf(〃\n\t\t地址:%s〃,per[i].addr);printf(〃\n\t\t手机号码:%s〃,per[i].celephone);printf(/z\n\t\t家庭电话号码:%s〃,per[i].homephone);printf(〃\n\t\t公司名称:%s〃,per[i].company);printf(/z\n\t\t电子邮件:%s/z,per[i].email);printf(〃\n\t\tQQ号码:%ld〃,per[i].QQ);printf(〃\n\t\t〃);printf(/zW\t是否删除?(1代表删除;2代表不删除)\n〃);printf(/z\n\t\t请输入您的数字选择: 〃);scanf(〃%d〃,&k);if(k==l)(for(j=i;j<num-l;j++)〃*纪录移动,从per数组中删除之*〃per[j]=per[j+1];num——;deletemark++;printf(/z\n\t\t删除成功〃);if((i+1)<num)(printf(Z/W\t是否继续删除相同姓名的联系人的信息?(1代表删除;2代表不删除)〃);printf(〃\n\t\t请输入您的数字选择: 〃);scanf(〃%d〃,&k);if(k=l)(a=i;findmark++;continue;))printf(〃\n\t\t是否继续删除?(1代表继续;2代表不继续)〃);printf(/z\n\t\t请输入您的数字选择: 〃);scanf(〃%d〃,&k);if(k==l)deleteone();elsebreak;))elsecontinue;)if((deletemark==O)&&(findmark==0))(printf(/z\n\t\t对不起!没有该联系人的纪录!〃);printf(/zW\t是否继续删除?(1代表继续;2代表不继续)〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&k);if(k==l)deleteone();)elseif(findmark!=0)(printf(/z\n\t\t对不起!没有重名信息!〃);printfCzW\t是否继续删除?(1代表继续;2代表不继续)〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&k);if(k==l)deleteone();)voiddeletebycelephone()〃*按手机号码删除*〃(inti,j,h,m;intdeletemark=0;charcelephone[11];printf(〃\n\t\t请输入要删除的联系人的手机号码:〃);scanf("%s”,celephone);for(i=0;i<num;i++)(if(strcmp(per[i].celephone,celephone)==0)(deletemark++;printf(〃\n\t\t以下是您要删除的联系人的纪录:〃);printf(〃\n\t\t〃);printf(〃\n\t\t名字:%s〃,per[i].name);printf(〃\n\t\t性别:%s〃,per[i].sex);printf(〃\n\t\t年龄:%d〃,per[i].nianling);printf(〃\n\t\t邮编:%ld〃,per[i].youbian);printf(〃\n\t\t地址:%s〃,per[i].addr);printf(〃\n\t\t手机号码:%s〃,per[i].celephone);printf(〃\n\t\t家庭电话号码:%s〃,per[i].homephone);printf(〃\n\t\t公司名称:%s〃,per[i].company);printf(〃\n\t\t电子邮件:%s〃,per[i].email);printf(〃\n\t\tQQ号码:%ld〃,per[i].QQ);printf(〃\n\t\t〃);printf(〃\n\t\t是否删除?(1代表删除;2代表不删除)\n〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&h);if(h==1)(for(j=i;j<num-1;j++)/*纪录移动,从per数组中删除之*/per[j]=per[j+1];num--;printf(〃\n\t\t删除成功〃);printf(〃\n是否继续删除?(1代表继续;2代表不继续)\n〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&h);if(h==1)deletebycelephone();)))if(deletemark==0)(printf(〃\n\t\t对不起!没有该联系人的纪录!〃);printf(〃\n\t\t是否继续删除?(1代表继续;2代表不继续)\n〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&m);if(m==1)deletebycelephone();voidxiugaimenu()〃*修改菜单*〃(inti,j;system(〃cls〃);system("color3f〃);if(num==0)(printf(/z\n\t\t对不起!文件中无任何纪录!〃);printf(/z\n\t\t请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;)else(printf(/z\n\t\t「按姓名修改 2-按手机号码修改\n〃);printf(〃 请输入您的数字选择:〃);loop6:scanf(〃%d〃,&i);switch(i)(case1:xiugaibyname();break;case2:xiugaibycelephone();break;default:printf(〃对不起!您的输入有误!请重新输入:〃);gotoloop6;voidxiugaibyname()〃*按姓名修改*〃inta=0;intfindmark=O;intxiugaimark=O;inti,j;charname[15];printf(〃\n\t\t请输入要修改联系人的姓名:〃);scanf(〃%s〃,name);for(i=a;i<num;i++)(if(strcmp(per[i].name,name)==0)(printfCzW\t以下是您要修改的联系人的纪录:〃);findmark++;printf(〃\n\t\t〃);printf(〃\n\t\t名字:%s〃,per[i].name);printf(〃\n\t\t性别:%s〃,per[i].sex);printf(〃\n\t\t年龄:%d〃,per[i].nianling);printf(〃\n\t\t邮编:%ld/z,per[i].youbian);printf(〃\n\t\t地址:%s〃,per[i].addr);printf(〃\n\t\t手机号码:%s〃,per[i].celephone);printf(/z\n\t\t家庭电话号码:%s〃,per[i].homephone);printf(〃\n\t\t公司名称:%s〃,per[i].company);printf(/z\n\t\t电子邮件:%s/z,per[i].email);printf(〃\n\t\tQQ号码:%ld〃,per[i].QQ);printf(〃\n\t\t〃);printf("\n\t\t是否修改?(1代表修改;2代表不修改)〃);printf(" 请输入您的数字选择: 〃);scanf(〃%d〃,&j);if(j==1)(xiugaixiangmu(i);xiugaimark++;printf(〃\n\t\t修改成功〃);if((i+1)<num)(printf(〃\n\t\t是否继续修改相同姓名的联系人的信息?(1代表继续;2代表不继续)〃);printf(〃 请输入您的数字选择:〃);scanf(〃%d〃,&j);if(j==1)(a=i;findmark++;continue;))printf(〃\n\t\t是否继续修改?(1代表继续;2代表不继续)〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&j);if(j==1)xiugaibyname();return;)))if((xiugaimark==0)&&(findmark==0))(printf(〃\n\t\t没有该联系人的纪录〃);printf(〃\n\t\t是否继续修改?(1代表继续;2代表不继续)〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&j);if(j==1)xiugaibyname();return;)elseif(findmark!=0)(printf(〃\n\t\t没有重名信息〃);printf(〃\n\t\t是否继续修改?(1代表继续;2代表不继续)〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&j);if(j==1)xiugaibyname();return;))void*1口82让丫。010口卜0口©()〃*按手机号码修改*〃(intfindmark=0;inti,j;charcelephone[11];printf(〃\n\t\t请输入要修改联系人的手机号码:〃);scanf("%s”,celephone);for(i=0;i<num;i++)(if(strcmp(per[i].celephone,celephone)==0)(printf(〃\n\t\t以下是您要修改的联系人的纪录:〃);findmark++;printf(〃\n\t\t〃);printf(〃\n\t\t名字:%s〃,per[i].name);printf(〃\n\t\t性别:%s〃,per[i].sex);printf(〃\n\t\t年龄:%d〃,per[i].nianling);printf(〃\n\t\t邮编:%ld〃,per[i].youbian);printf(〃\n\t\t地址:%s〃,per[i].addr);printf(〃\n\t\t手机号码:%s〃,per[i].celephone);printf(〃\n\t\t家庭电话号码:%s〃,per[i].homephone);printf(〃\n\t\t公司名称:%s〃,per[i].company);printf(〃\n\t\t电子邮件:%s〃,per[i].email);printf(〃\n\t\tQQ号码:%ld〃,per[i].QQ);printf(〃\n\t\t〃);printf(〃\n\t\t是否修改?(1代表修改;2代表不修改)〃);printf(〃 请输入您的数字选择:〃);scanf(〃%d〃,&j);if(j==1)(xiugaixiangmu(i);printf(〃\n\t\t修改成功〃);printf(〃\n\t\t是否继续修改?(1代表继续;2代表不继续)〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&j);printf(〃 请输入您的数字选择:〃);if(j==1)xiugaixiangmu(i);break;)))if(findmark==0)(printf(〃\n\t\t对不起!没有该联系人的纪录!〃);printf(〃\n\t\t是否继续修改?(1代表继续;2代表不继续)〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&j);if(j==1)xiugaibycelephone();return;))voidxiugaixiangmu(inta)〃*修改项目*〃(inti;system(〃cls〃);system("colorc0〃);printf(/z\n\t\t请输入您要修改的项目 〃);printf(〃\n\t\t\n〃);printf(〃\n\t\tl-手机号码\n〃);printf(〃\n\t\t2-姓名\n〃);printf(〃\n\t\t3-家庭电话号码\n〃);printf(/Z\n\t\t4-QQ号码\n〃);printf(〃\n\t\t5-地址\n〃);printf(〃\n\t\t6-邮编\n〃);printf(〃\n\t\t7-电子邮件\n〃);printf(〃\n\t\t8-回主菜单\n〃);printf(〃\n\t\t\n〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&i);loop9:switch(i)(case1:printf(〃请输入手机号码:〃);scanf(〃%s〃,&per[a].celephone);break;case2:printf(〃请输入姓名:〃);scanf(〃%s〃,&per[a].name);break;case3:printf(〃请输入家庭电话号码:〃);scanf(〃%s〃,&per[a].homephone);break;case4:printf(〃请输入QQ号码:〃);scanf(〃%s〃,&per[a].QQ);break;case5:printf(〃请输入地址:〃);scanf(〃%s〃,&per[a].addr);break;case6:printf(〃请输入邮编:〃);scanf(〃%s〃,&per[a].youbian);break;case7:printf(〃请输入email:〃);scanf(〃%s〃,&per[a].email);break;case8:mainmenu();break;default:printf(〃对不起!您的输入有误!请重新输入/z);gotoloop9;voidlistmenu()〃*排序采单*〃(inti,j;system(〃cls〃);system(/zcolorb0〃);if(num==0)(printf(/z\n\t\t对不起,文件中无任何纪录〃);printf('\n\t\t请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;)else(system(〃cls〃);system(/zcolor12");序菜单 〃);「按姓名排序 〃);2-按手机号码排序 〃);序菜单 〃);「按姓名排序 〃);2-按手机号码排序 〃);printf(〃\n\t\tprintf(/z\n\t\t 3-返回主菜单 〃);printf(/z 请输入您的数字选择: 〃);looplO: scanf(〃%d〃,&i);switch(i)(case1:1istbyname();break;case2:listbycelephone();break;case3:mainmenu();break;default:printf(〃对不起!您的输入有误!请重新输入〃);gotolooplO;voidlistbyname()〃*按姓名排序*〃(inti,j,k;structpersontmp;for(i=l;i<num;i++)(if(strcmp(per[i].name,per[i-1].name)<0)(tmp=per[i];do(per[j+l]=per[j];j一;while((strcmp(,per[j].name)<0&&j>=0));per[j+l]=tmp;printf(〃\n\t\t排序成功,是否显示?(1代表继续;2代表不继续)〃);printf(〃 请输入您的数字选择: 〃);scanf(〃%d〃,&k);if(k==l)showa11();return;)voidlistbycelephone()〃*按手机号码排序*〃(inti,j,k;structpersontmp;for(i=l;i<num;i++)(if(strcmp(per[i].celephone,per[i-1].celephone)<0)(tmp=per[i];do(per[j+l]=per[j];j一;}while((strcmp(tmp.celephone,per[j].celephone)<0)&&j>=0);per[j+l]=tmp;)printf(〃\n\t\t排序成功,是否显示?(1代表继续;2代表不继续)〃);printf(" 请输入您的数字选择: 〃);scanf("%d",&k);if(k==1)showall();return;)voidshowall()〃*输出全部信息*〃(inti,j;system(〃cls〃);system(〃color3b");if(num!=0)(printf(〃\n\t\t**以下为通讯录所有信息************〃);for(i=0;i<num;i++)(printf(〃\n\t\t〃);printf(〃\n\t\t名字:%s〃,per[i].name);printf(〃\n\t\t性别:%s〃,per[i].sex);printf(〃\n\t\t年龄:%d〃,per[i].nianling);printf(〃\n\t\t邮编:%ld〃,per[i].youbian);printf(〃\n\t\t地址:%s〃,per[i].addr);printf(〃\n\t\t手机号码:%s〃,per[i].celephone);printf(〃\n\t\t家庭电话号码:%s〃,per[i].homephone);printf(〃\n\t\t公司名称:%s〃,per[i].company);printf(〃\n\t\t电子邮件:%s〃,per[i].email);printf(〃\n\t\tQQ号码:%ld〃,per[i].QQ);printf(〃\n\t\t〃);printf(〃\t\t〃);if(i+1<num)(printf(〃\n\t\t〃);system(〃pause〃);))printf(〃\n\t\t************************************************〃);)elseprintf(〃\n\t\t对不起!通讯录中无任何纪录!〃);printf(〃\n\t\t请按任意数字键返回主菜单〃);scanf(〃%d〃,&j);return;)voidwritetofile()〃*写入文件*〃(inti,k;system(〃cls〃);system(〃color84〃);if((fp=fopen(〃per.bin〃,〃wb〃))==NULL)printf(/z\n\t\t文件打开失败〃);)for(i=0;i<num;i++)(if(fwrite(&per[i],sizeof(structperson),1,fp)!=1)(printf(/z\n\t\t写入文件错误!\n〃);))fclose(fp);printf(/z\n\t\t通讯录文件已保存〃);printf(/z\n\t\t请按任意数字键返回主菜单〃);scanf(〃%d〃,&k);return;)voidreadfromfile()〃*读取文件*〃(inti,j,k;system(〃cls〃);system("color2b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论