1、创新版通讯录题目三:通讯录管理系统要求完成以下功能:(1) 添加、修改、删除成员信息。成员基本信息:姓名、现就读大学名称及班级名、专业( speciality)、家庭住址、家庭联系电话(number)、邮编、本人联系电话、email、QQ 号等。(2) 查询成员信息,包括显示所有成员信息,能够按姓名对成员信息进行检索并将检索结果显示在屏幕上,能够按专业对成员信息进行检索并将检索结果显示在屏幕上。(3) 能够按其他信息查询成员,如按QQ 号,部分姓名(只有名或只有姓)等。(选做)(4) 能够根据联系的信息单独或分类查询。(5) 联系人的生日提醒功能。(选做)(6) 要求利用菜单的形式进行管理。(
2、可以采用文本菜单,如果图形菜单更好)1.界面:#include#include#include struct student /结构体 char spec13; /专业char university14;/大学char name20; /姓名char address100;/地址char tel_no12; /家庭电话char number15;/本人电话char post_code7; /邮编char e_mail40;/电子邮件char QQ16; /qq号class inter /定义一个inter类,实现通讯录的功能 private: student st35;/私有成员student
3、public: void add(char spec13,char university14,char name20,char address100,char tel_no12,char number15,char post_code7,char e_mail40,char QQ16); /增加 void del(char name20); /删除 void find1(char spec13); /按专业查找void find2(char university14); /按大学查找void find3(char name20); /按姓名查找void find4(char address10
4、0); / 按地址查找void find5(char tel_no12); /按家庭电话查找void find6(char number15); /按本人电话查找void find7(char post_code7); /按邮编查找void find8(char e_mail40); /按电子邮件查找void find9(char QQ16);/按QQ号查找 int correct(char name20);/修改通讯录的信息void read();/文件读入void write();/资料写入void format();/ 格式化 int back() /判断是否回到主菜单 coutback
5、; if(back=R|back=r) return 1; else return 0; void print(int i)/输出信息 cout专业:sti.specendl; cout大学:sti.universityendl; cout姓名:sti.nameendl; cout地址:sti.addressendl; cout家庭电话号码:sti.tel_noendl; cout本人电话号码:sti.numberendl; cout邮编:sti.post_codeendl; coutE_MAIL:sti.e_mailendl; coutQQ号码:sti.QQendl; ; /主函数 首页in
6、t main() inter a;/定义inter类的一个对象aa.format(); /调用格式化函数format char select1; coutendl; top:couttt 信电123 endl tt endl tt endl tt 通 迅 录 endl tt endl tt 1. 通讯录编辑. endl tt endl tt 2. 查询联系人. 4. 将文件读入程序. endl tt endl tt 3. 将资料写入文件. 5. 格式化(慎用). endl tt endl ttendl tt endlendl select1; switch(select1) case 1:co
7、ut (1)添加:endl; cout (2)删除:endl; cout (3)修改:endl; char select2; cout 请选择:select2; switch(select2) case 1:cout 输入添加的资料:endl; char spec13; char university14; char name20; char address100; char tel_no12; /家庭电话 char number15;/本人电话 char post_code7; char e_mail40; char QQ16; /qq号 cout 输入专业:spec; cout 输入大学:
8、university; cout 输入姓名:name; cout 输入地址:address; cout 输入家庭电话号码:tel_no; cout 输入本人电话号码:number; cout 输入邮编:post_code; cout 输入E_mail:e_mail; cout 输入QQ号码:QQ; a.add(spec,university,name,address,tel_no,number,post_code,e_mail,QQ); coutback_add; if(back_add=R|back_add=r) goto top; else goto bottom; break; case
9、 2:cout 输入要删除人的姓名:name2; a.del(name2); coutback_del; if(back_del=R|back_del=r) goto top; else goto bottom; break; case 3:cout 输入需要修改人的姓名:name3; if(a.correct(name3) goto top; else goto bottom; break; break; case 2:cout (1)根据专业查找endl; cout (2)根据大学查找endl; cout (3)根据姓名查找endl; cout (4)根据家庭地址查找endl; cout
10、(5)根据家庭电话查找endl; cout (6)根据本人电话号码查找endl; cout (7)根据邮编查找endl; cout (8)根据e_mail查找endl; cout (9)根据QQ查找endl; char select3; coutselect3; switch(select3) case 1:char spec413; coutspec4; a.find1(spec4); coutback_f1; if(back_f1=R|back_f1=r) goto top; else goto bottom; break; case 2:char university414; coutu
11、niversity4; a.find2(university4); coutback_f2; if(back_f2=R|back_f2=r) goto top; else goto bottom; break; case 3:char name420; coutname4; a.find3(name4); coutback_f3; if(back_f3=R|back_f3=r) goto top; else goto bottom; break; case 4:char address4100; coutaddress4; a.find4(address4); coutback_f4; if(
12、back_f4=R|back_f4=r) goto top; else goto bottom; break; case 5:char tel_no412; couttel_no4; a.find5(tel_no4); coutback_f5; if(back_f5=R|back_f5=r) goto top; else goto bottom; break; case 6:char number415; coutnumber4; a.find6(number4); coutback_f6; if(back_f6=R|back_f6=r) goto top; else goto bottom;
13、 break; case 7:char post_code47; coutpost_code4; a.find7(post_code4); coutback_f7; if(back_f7=R|back_f7=r) goto top; else goto bottom; break; case 8:char e_mail440; coute_mail4; a.find8(e_mail4); coutback_f8; if(back_f8=R|back_f8=r) goto top; else goto bottom; break; case 9:char QQ416; coutQQ4; a.fi
14、nd9(QQ4); coutback_f9; if(back_f9=R|back_f9=r) goto top; else goto bottom; break; break;case 3:a.write(); coutback_w; if(back_w=R|back_w=r) goto top; else goto bottom; break; case 4:a.read(); coutback_r; if(back_r=R|back_r=r) goto top; else goto bottom; break; case 5:coutselect5; if(select5=Y|select
15、5=y) a.format(); coutback_f; if(back_f=R|back_f=r) goto top; else goto bottom; break; bottom:cout endl; return 0; /添加联系人 void inter:add(char spec13,char university14,char name20,char address100,char tel_no12,char number15,char post_code7,char e_mail40,char QQ16) int x=1; for(int i=0;i35;i+) if(!strc
16、mp(sti.spec,0) strcpy(sti.spec,spec); strcpy(sti.university,university); strcpy(sti.name,name); strcpy(sti.address,address); strcpy(sti.tel_no,tel_no); strcpy(sti.number,number); strcpy(sti.post_code,post_code); strcpy(sti.e_mail,e_mail); strcpy(sti.QQ,QQ);x=0; if(x=0) break; /删除联系人 void inter:del(c
17、har name20) int x=1; for(int i=0;i35;i+) if(!strcmp(sti.name,name) strcpy(sti.address,0); strcpy(sti.e_mail,0); strcpy(sti.university,0); strcpy(sti.name,0); strcpy(sti.spec,0); strcpy(sti.post_code,0); strcpy(sti.tel_no,0); strcpy(sti.number,0); strcpy(sti.QQ,0); else x=0; if(x=0) cout error:输入姓名错误
18、!endl; /修改联系人 int inter:correct(char name30) int x; for(int i=0;i35;i+) if(!strcmp(sti.name,name) x=i; char select; cout (1)修改姓名:endl; cout (2)修改专业:endl; cout (3)修改地址:endl; cout (4)修改邮编:endl; cout (5)修改家庭电话号码:endl; cout (6)修改E_MAIL:endl; cout (7)修改大学:endl; cout (8)修改本人电话号码:endl; cout (9)修改QQ号码:endl;
19、 coutselect; switch(select) case 1:coutname1; strcpy(stx.name,name1); cout 修改成功!endl; return back(); break; case 2:coutspec1; strcpy(sti.spec,spec1); cout 修改成功!endl; return back(); break; case 3:coutaddress1; strcpy(stx.address,address1); cout 修改成功!endl; return back(); break; case 4:coutpost_code1;
20、strcpy(stx.post_code,post_code1); cout 修改成功!endl; return back(); break; case 5:couttel_no1; strcpy(stx.tel_no,tel_no1); cout 修改成功!endl; return back(); break; case 6:coute_mail1; strcpy(stx.e_mail,e_mail1); cout 修改成功!endl; return back(); break; case 7:coutuniversity1; strcpy(stx.university,university1); cout 修改成功!endl; return back(); break; case 8:coutnumber1; strcpy(stx.number,number1); cout 修改成功!endl; return back(); break; case 9:coutQQ1; strcpy(stx.QQ,QQ1); cout 修改成功!endl; return back(); break; /按专业查询联系人 void inter:find1(char spec13) int x,y=1,z=1; for(int i=0;i35;i+) if(!strcmp(sti
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1