#includeiostream#includestring.h#includewindows.husingnamespacestd;charfenzu[20][10]={{未知},{同事},{亲戚},{朋友},{家人},{同学}};intind=0;intlen_erwei(){inti=0;for(intj=0;j20;j++)if(strlen(fenzu[j])!=0)i+=1;returni;}intlen_1=len_erwei();//获取分组的长度voidset_fen(){cout\n请输入新的分组:;cinfenzu[len_1];for(inti=0;ilen_1+1;i++)coutfenzu[i];cout\n;len_1=len_erwei();//改变数组长度,同时要改变全局变量}classrecord{public:charname[10];charphone[15];charphone_ho[15];charphone_wo[15];charmail[20];charzu[8];};classper:publicrecord{public:voidzhucaidan();voidfind();//查看voidadd_pe();voidbohao();voidrepair();voiddel_pe();voidsearch();//查询}person[20];voidper::zhucaidan(){chari;intflag=1;cout\n--------------手机通信录管理系统--------------endl;cout\t\t1.查看功能\n\t\t2.增加功能\n\t\t3.拨号功能\n\t\t4.修改功能\n\t\t5.删除功能\n\t\t6.查找\n\t\t7.退出endl;do{cini;switch(i){case'1':find();break;case'2':add_pe();break;case'3':bohao();break;case'4':repair();break;case'5':del_pe();break;case'6':search();break;case'7':cout程序已退出...endl;flag=0;break;default:cout输入有误,返回主菜单。endl;}if(flag){cout\n--------------手机通信录管理系统--------------endl;cout\t\t1.查看功能\n\t\t2.增加功能\n\t\t3.拨号功能\n\t\t4.修改功能\n\t\t5.删除功能\n\t\t6.查找\n\t\t7.退出endl;}}while(flag);}voidper::add_pe(){//增加功能:能录入新人员记录(当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;)chary_n;intindex,flag=1;cout姓名:;cin.get();cin.getline(person[ind].name,10,'\n');do{cout\t\t\t若三个号码同时为空,将重新填写。\t\t\t\n;cout手机号码:(不填按回车即可);cin.getline(person[ind].phone,15,'\n');cout家庭号码:(不填按回车即可);cin.getline(person[ind].phone_ho,15,'\n');cout工作号码:(不填按回车即可);cin.getline(person[ind].phone_wo,15,'\n');}while((strlen(person[ind].phone)+strlen(person[ind].phone_ho)+strlen(person[ind].phone_wo)==0));for(inti=0;iind;i++){if(strcmp(person[ind].name,person[i].name)==0){cout姓名已存在,取消录入.;flag=0;}elseif(strcmp(person[ind].phone,person[i].phone)==0){cout电话号码已存在,取消录入.;flag=0;}elseif(strcmp(person[ind].phone_ho,person[i].phone)==0){cout家庭号码已存在,取消录入.;flag=0;}elseif(strcmp(person[ind].phone_wo,person[i].phone)==0){cout工作号码已存在,取消录入.;flag=0;}}if(flag){cout邮箱:;cin.getline(person[ind].mail,20,'\n');cout分组为:;for(inti=0;ilen_1;i++)couti+1.fenzu[i];coutendl;cout是否新增分组(y/n):;ciny_n;if(y_n=='y')set_fen();cout请选择分组(输入数字即可.):;cinindex;strcpy(person[ind].zu,fenzu[index-1]);inti=ind;ind+=1;}}voidper::find(){intindex;intflag=1;cout分组信息为:;for(inti=0;ilen_1;i++)couti+1.fenzu[i];coutendl;cout请输入要查询的分组(输入数字即可):;cinindex;index=index-1;for(inti=0;i=ind;i++){if(strcmp(person[i].zu,fenzu[index])==0){cout姓名:person[i].name\n手机号码:(没有则为空):person[i].phone\n家庭号码:(没有则为空):person[i].phone_ho;cout\n手机号码:(没有则为空):person[i].phone_wo\n邮箱为:person[i].mailendl;flag=0;}}if(flag)cout此分组下没有信息。\n;}voidper::bohao(){intname_1;cout所有人员的姓名:\n;for(inti=0;iind;i++){couti+1.person[i].name;}cout\n请输入要获取电话信息的姓名的编号:;cinname_1;name_1-=1;coutname:person[name_1].nameendl;coutphone:;for(inti=0;istrlen(person[name_1].phone);i++){Sleep(300);cout.put(person[name_1].phone[i]);}cout\nphone_ho:;for(inti=0;istrlen(person[name_1].phone_ho);i++){Sleep(300);cout.put(person[name_1].phone_ho[i]);}cout\nphone_wo:;for(inti=0;istrlen(person[name_1].phone_wo);i++){Sleep(300);cout.put(person[name_1].phone_wo[i]);}cout\n;}voidper::repair(){intname_1,name_2;cout所有人员的姓名:\n;for(inti=0;iind;i++){couti+1.person[i].name;}cout\n请输入要修改信息的姓名的编号:;cinname_1;name_1-=1;cout1.姓名:person[name_1].name\n2.手机号码:(没有则为空):person[name_1].phone\n3.家庭号码:(没有则为空):person[name_1].phone_ho;cout\n4.手机号码:(没有则为空):person[name_1].phone_wo\n5.邮箱为:person[name_1].mail\n6.分组为:person[name_1].zuendl;cout所有信息如上,请选择需要修改的信息(输入编号即可)\n;cinname_2;switch(name_2){case1:cout请输入姓名:;cin.get();cin.getline(person[name_1].name,10,'\n');break;case2:cout请输入手机号码:;cin.get();cin.getline(person[name_1].phone,15,'\n');break;case3:cout请输入家庭号码:;cin.get();cin.getline(person[name_1].phone_ho,15,'\n');break;case4:cout请输入工作号码:;cin.get();cin.getline(person[name_1].phone_wo,15,'\n');break;case5:cout请输入邮箱:;cin.get();cin.getline(person[name_1].mail,20,'\n');break;case6:cout分组信息为:;for(inti=0;ilen_1;i++)couti+1.fenzu[i];cout请输入分组:;cinname_2;strcpy(person[name_1].zu,fenzu[name_2-1]);break;default:cout输入错误,返回主函数\n;}}voidper::del_pe(){intname_1;cout所有人员的姓名:\n;for(inti=0;iind;i++){couti+1.person[i].name;}cout\n请输入要删除信息的姓名的编号:;cinname_1;name_1-=1;for(inti=name_1;iind;i++){strcpy(person[i].name,person[i+1].name);strcpy(person[i].phone,person[i+1].phone);strcpy(person[i].phone_ho,person[i+1].phone_ho);strcpy(person[i].phone_wo,person[i+1].phone_wo);strcpy(person[i].mail,person[i+1].mail);strcpy(person[i].zu,person[i+1].zu);}cout已删除,返回主菜单。endl;ind-=1;}voidper::search(){intnum,flag=1,index_1[ind],num_1=0;//index_和num_1都是为了避免姓名查找查重charname_1[8],phone_1[15];cout请选择查找方式:\n1.姓名模糊查找\t\t2.电话号码模糊查找endl;cinnum;if(num==1){cout请输入姓名:;cin.get();cin.getline(name_1,8,'\n');//判断输入是否为中文if(int(name_1[0])=0)//英文{for(inti=0;iind;i++){stringstr1