《C++实现手机通信录管理系统(共8页).docx》由会员分享,可在线阅读,更多相关《C++实现手机通信录管理系统(共8页).docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上#include#include#includeusing namespace std; char fenzu2010=未知,同事,亲戚,朋友,家人,同学;int ind=0;int len_erwei()int i=0;for(int j=0;j20;j+)if(strlen(fenzuj)!=0)i+=1;return i;int len_1 = len_erwei();/获取分组的长度 void set_fen()coutfenzulen_1;for(int i=0;ilen_1+1;i+)coutfenzui ;coutn;len_1 = len_erwei(
2、);/改变数组长度,同时要改变全局变量 class recordpublic:char name10;char phone15;char phone_ho15;char phone_wo15;char mail20;char zu8;class per:public recordpublic:void zhucaidan();void find();/查看 void add_pe();void bohao();void repair();void del_pe();void search();/查询person20;void per:zhucaidan()char i;int flag=1;c
3、outn-手机通信录管理系统- endl;couttt1.查看功能ntt2.增加功能ntt3.拨号功能ntt4.修改功能ntt5.删除功能ntt6.查找ntt7.退出i;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)coutn-
4、手机通信录管理系统- endl;couttt1.查看功能ntt2.增加功能ntt3.拨号功能ntt4.修改功能ntt5.删除功能ntt6.查找ntt7.退出endl;while(flag);void per:add_pe()/增加功能:能录入新人员记录(当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;)char y_n;int index,flag=1;cout姓名:;cin.get();cin.getline(personind.name,10,n);docoutttt若三个号码同时为空,将重新填写。tttn;cout手机号码:(不填按回车即可);cin.getline(per
5、sonind.phone,15,n);cout家庭号码:(不填按回车即可);cin.getline(personind.phone_ho,15,n);cout工作号码:(不填按回车即可);cin.getline(personind.phone_wo,15,n);while(strlen(personind.phone)+strlen(personind.phone_ho)+strlen(personind.phone_wo)=0);for(int i=0;iind;i+)if(strcmp(personind.name,personi.name)=0)cout姓名已存在,取消录入.;flag=
6、0;else if(strcmp(personind.phone,personi.phone)=0)cout电话号码已存在,取消录入.;flag=0;else if(strcmp(personind.phone_ho,personi.phone)=0)cout家庭号码已存在,取消录入.;flag=0;else if(strcmp(personind.phone_wo,personi.phone)=0)cout工作号码已存在,取消录入.;flag=0;if(flag)cout邮箱:;cin.getline(personind.mail,20,n);cout分组为:; for(int i=0;il
7、en_1;i+)couti+1.fenzui ;coutendl; couty_n;if(y_n=y)set_fen();coutindex;strcpy(personind.zu,fenzuindex-1);int i = ind;ind+=1;void per:find()int index;int flag=1;cout分组信息为:;for(int i=0;ilen_1;i+)couti+1.fenzui ;coutendl;coutindex;index=index-1;for(int i=0;i=ind;i+)if(strcmp(personi.zu,fenzuindex)=0)co
8、ut姓名:personi.namen手机号码:(没有则为空):personi.phonen家庭号码:(没有则为空):personi.phone_ho;coutn手机号码:(没有则为空):personi.phone_won邮箱为:personi.mailendl;flag=0;if(flag)cout此分组下没有信息。n;void per:bohao()int name_1;cout所有人员的姓名:n;for(int i=0;iind;i+)couti+1.personi.name ;coutname_1;name_1-=1;coutname:personname_1.nameendl;cout
9、phone:;for(int i=0;istrlen(personname_1.phone);i+)Sleep(300);cout.put(personname_1.phonei);coutnphone_ho:;for(int i=0;istrlen(personname_1.phone_ho);i+)Sleep(300);cout.put(personname_1.phone_hoi);coutnphone_wo:;for(int i=0;istrlen(personname_1.phone_wo);i+)Sleep(300);cout.put(personname_1.phone_woi)
10、;coutn;void per:repair()int name_1,name_2;cout所有人员的姓名:n;for(int i=0;iind;i+)couti+1.personi.name ;coutname_1;name_1-=1;cout1.姓名:personname_1.namen2.手机号码:(没有则为空):personname_1.phonen3.家庭号码:(没有则为空):personname_1.phone_ho;coutn4.手机号码:(没有则为空):personname_1.phone_won5.邮箱为:personname_1.mailn6.分组为:personname_
11、1.zuendl;coutname_2;switch(name_2)case 1:cout请输入姓名:;cin.get();cin.getline(personname_1.name,10,n);break;case 2:cout请输入手机号码:;cin.get();cin.getline(personname_1.phone,15,n);break;case 3:cout请输入家庭号码:;cin.get();cin.getline(personname_1.phone_ho,15,n);break;case 4:cout请输入工作号码:;cin.get();cin.getline(perso
12、nname_1.phone_wo,15,n);break;case 5:cout请输入邮箱:;cin.get();cin.getline(personname_1.mail,20,n);break;case 6:cout分组信息为:;for(int i=0;ilen_1;i+)couti+1.fenzui ;coutname_2;strcpy(personname_1.zu,fenzuname_2-1);break;default:cout输入错误,返回主函数n;void per:del_pe()int name_1;cout所有人员的姓名:n;for(int i=0;iind;i+)cout
13、i+1.personi.name ;coutname_1;name_1-=1;for(int i=name_1;iind;i+)strcpy(personi.name,personi+1.name);strcpy(personi.phone,personi+1.phone);strcpy(personi.phone_ho,personi+1.phone_ho);strcpy(personi.phone_wo,personi+1.phone_wo);strcpy(personi.mail,personi+1.mail);strcpy(personi.zu,personi+1.zu);cout已删
14、除,返回主菜单。endl;ind-=1;void per:search()int num,flag=1,index_1ind,num_1=0;/index_和num_1都是为了避免姓名查找查重 char name_18,phone_115;cout请选择查找方式:n1.姓名模糊查找tt2.电话号码模糊查找num;if(num=1)cout=0)/英文 for(int i=0;iind;i+)string str1(personi.name);if(str1.find(name_1)!=-1)cout匹配到通讯录成员:personi.nameendl;coutn手机号码:(没有则为空):pers
15、oni.phonen家庭号码:(没有则为空):personi.phone_ho;coutn手机号码:(没有则为空):personi.phone_won邮箱为:personi.mail;coutn分组为:personi.zunendl;flag = 0;if(flag)cout查无此人。返回主菜单。n;elseint len = strlen(name_1)/2;int alen;for(int i=0;ilen;i+)ai=int(name_12*i)+int(name_12*i+1);/将输入的中文转换为ASCII,相加,进行判断 for(int i=0;ilen;i+)/遍历输入字符串 f
16、or(int j=0;jind;j+)/遍历所有成员 int fl=0;for(int m=0;mind;m+)/避免查重 ,是否可以调用引用,将查到的删除? if(index_1m=j)fl=1;if(fl)continue; for(int k=0;k=strlen(personj.name)/2;k+=2)/遍历所有成员的姓名 if(int(personj.namek)+int(personj.namek+1)=ai)cout匹配到通讯录成员:personj.nameendl;coutn手机号码:(没有则为空):personj.phonen家庭号码:(没有则为空):personj.pho
17、ne_ho;coutn手机号码:(没有则为空):personj.phone_won邮箱为:personj.mail;coutn分组为:personj.zunendl;index_1num_1=j;num_1+=1;/将已查询到的数据下标放入数组,避免查重 flag = 0;break;if(flag)cout查无此人。返回主菜单。n;else if(num=2)cout请输入电话号码:;cin.get();cin.getline(phone_1,15,n);int flag_2=1;for(int i=0;iind;i+)/遍历所有成员 int flag_1=0;if(strlen(perso
18、ni.phone)string str1(personi.phone);/字符数组复制成string类 if(str1.find(phone_1)!=-1)flag_1=1;if(strlen(personi.phone_ho)string str1(personi.phone_ho);if(str1.find(phone_1)!=-1)flag_1=1;if(strlen(personi.phone_wo)string str1(personi.phone_wo);if(str1.find(phone_1)!=-1)flag_1=1;if(flag_1)cout匹配到通讯录成员personi.nameendl;coutn手机号码:(没有则为空):personi.phonen家庭号码:(没有则为空):personi.phone_ho;coutn手机号码:(没有则为空):personi.phone_won邮箱为:personi.mail;coutn分组为:personi.zunendl;flag_2=0;if(flag_2)cout查无此人。返回主菜单.n;elsecout输入出错,返回主菜单.n; int main()per one;one.zhucaidan();return 0;专心-专注-专业