创新版通讯录.docx
《创新版通讯录.docx》由会员分享,可在线阅读,更多相关《创新版通讯录.docx(31页珍藏版)》请在冰豆网上搜索。
![创新版通讯录.docx](https://file1.bdocx.com/fileroot1/2023-1/21/39e69d52-4725-4b8d-b89a-f5f8d26a08c9/39e69d52-4725-4b8d-b89a-f5f8d26a08c91.gif)
创新版通讯录
题目三:
通讯录管理系统
要求完成以下功能:
(1)添加、修改、删除成员信息。
成员基本信息:
姓名、现就读大学名称及班级名、专业(speciality)、家庭住址、家庭联系电话(number)、邮编、本人联系电话、email、QQ号等。
(2)查询成员信息,包括显示所有成员信息,能够按姓名对成员信息进行检索并将检索结果
显示在屏幕上,能够按专业对成员信息进行检索并将检索结果显示在屏幕上。
(3)能够按其他信息查询成员,如按QQ号,部分姓名(只有名或只有姓)等。
(选做)
(4)能够根据联系的信息单独或分类查询。
(5)联系人的生日提醒功能。
(选做)
(6)要求利用菜单的形式进行管理。
(可以采用文本菜单,如果图形菜单更好)
1.界面:
#include
#include
#include
structstudent//结构体
{charspec[13];//专业
charuniversity[14];//大学
charname[20];//姓名
charaddress[100];//地址
chartel_no[12];//家庭电话
charnumber[15];//本人电话
charpost_code[7];//邮编
chare_mail[40];//电子邮件
charQQ[16];};//qq号
classinter//定义一个inter类,实现通讯录的功能
{
private:
studentst[35];//私有成员student
public:
voidadd(charspec[13],charuniversity[14],charname[20],charaddress[100],chartel_no[12],charnumber[15],charpost_code[7],chare_mail[40],charQQ[16]);//增加
voiddel(charname[20]);//删除
voidfind1(charspec[13]);//按专业查找
voidfind2(charuniversity[14]);//按大学查找
voidfind3(charname[20]);//按姓名查找
voidfind4(charaddress[100]);//按地址查找
voidfind5(chartel_no[12]);//按家庭电话查找
voidfind6(charnumber[15]);//按本人电话查找
voidfind7(charpost_code[7]);//按邮编查找
voidfind8(chare_mail[40]);//按电子邮件查找
voidfind9(charQQ[16]);//按QQ号查找
intcorrect(charname[20]);//修改通讯录的信息
voidread();//文件读入
voidwrite();//资料写入
voidformat();//格式化
intback()//判断是否回到主菜单
{
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback;
cin>>back;
if(back=='R'||back=='r')
return1;
elsereturn0;}
voidprint(inti)//输出信息
{
cout<<"专业:
"<cout<<"大学:
"<cout<<"姓名:
"<cout<<"地址:
"<cout<<"家庭电话号码:
"<cout<<"本人电话号码:
"<cout<<"邮编:
"<cout<<"E_MAIL:
"<cout<<"QQ号码:
"<}
};//主函数首页
intmain()
{
intera;//定义inter类的一个对象a
a.format();//调用格式化函数format
charselect1;
cout<top:
cout<<"\t\t信电123"<<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★"<<<"\t\t※※"<<<"\t\t※通迅录※"<<<"\t\t※※"<<<"\t\t※1.通讯录编辑.※"<<<"\t\t※※"<<<"\t\t※2.查询联系人.4.将文件读入程序.※"<<<"\t\t※※"<<<"\t\t※3.将资料写入文件.5.格式化(慎用).※"<<<"\t\t※※"<<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★"<<<"\t\t"<<<"\t\t\t选择:
";
cin>>select1;
switch(select1)
{
case'1':
cout<<"
(1)添加:
"<cout<<"
(2)删除:
"<cout<<"(3)修改:
"<charselect2;
cout<<"请选择:
"<cin>>select2;
switch(select2)
{
case'1':
cout<<"输入添加的资料:
"<charspec[13];
charuniversity[14];
charname[20];
charaddress[100];
chartel_no[12];//家庭电话
charnumber[15];//本人电话
charpost_code[7];
chare_mail[40];
charQQ[16];//qq号
cout<<"输入专业:
"<cin>>spec;
cout<<"输入大学:
"<cin>>university;
cout<<"输入姓名:
"<cin>>name;
cout<<"输入地址:
"<cin>>address;
cout<<"输入家庭电话号码:
"<cin>>tel_no;
cout<<"输入本人电话号码:
"<cin>>number;
cout<<"输入邮编:
"<cin>>post_code;
cout<<"输入E_mail:
"<cin>>e_mail;
cout<<"输入QQ号码:
"<cin>>QQ;
a.add(spec,university,name,address,tel_no,number,post_code,e_mail,QQ);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_add;
cin>>back_add;
if(back_add=='R'||back_add=='r')
gototop;
elsegotobottom;break;
case'2':
cout<<"输入要删除人的姓名:
"<charname2[20];
cin>>name2;
a.del(name2);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";
charback_del;
cin>>back_del;
if(back_del=='R'||back_del=='r')
gototop;
elsegotobottom;
break;
case'3':
cout<<"输入需要修改人的姓名:
"<charname3[20];
cin>>name3;
if(a.correct(name3))
gototop;
elsegotobottom;
break;}
break;
case'2':
cout<<"
(1)根据专业查找"<cout<<"
(2)根据大学查找"<cout<<"(3)根据姓名查找"<cout<<"(4)根据家庭地址查找"<cout<<"(5)根据家庭电话查找"<cout<<"(6)根据本人电话号码查找"<cout<<"(7)根据邮编查找"<cout<<"(8)根据e_mail查找"<cout<<"(9)根据QQ查找"<charselect3;
cout<<"请选择:
";
cin>>select3;
switch(select3)
{
case'1':
charspec4[13];
cout<<"输入专业:
";
cin>>spec4;
a.find1(spec4);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f1;
cin>>back_f1;
if(back_f1=='R'||back_f1=='r')
gototop;
elsegotobottom;break;
case'2':
charuniversity4[14];cout<<"输入大学:
";
cin>>university4;
a.find2(university4);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f2;
cin>>back_f2;
if(back_f2=='R'||back_f2=='r')
gototop;
elsegotobottom;break;
case'3':
charname4[20];
cout<<"输入姓名:
";
cin>>name4;
a.find3(name4);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f3;
cin>>back_f3;
if(back_f3=='R'||back_f3=='r')
gototop;
elsegotobottom;break;
case'4':
charaddress4[100];cout<<"输入家庭地址:
";
cin>>address4;
a.find4(address4);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f4;
cin>>back_f4;
if(back_f4=='R'||back_f4=='r')
gototop;
elsegotobottom;break;
case'5':
chartel_no4[12];cout<<"输入家庭电话号码:
";
cin>>tel_no4;
a.find5(tel_no4);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f5;
cin>>back_f5;
if(back_f5=='R'||back_f5=='r')
gototop;
elsegotobottom;break;
case'6':
charnumber4[15];cout<<"输入本人电话号码:
";
cin>>number4;
a.find6(number4);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f6;
cin>>back_f6;
if(back_f6=='R'||back_f6=='r')
gototop;
elsegotobottom;break;
case'7':
charpost_code4[7];cout<<"输入邮编:
";
cin>>post_code4;
a.find7(post_code4);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f7;
cin>>back_f7;
if(back_f7=='R'||back_f7=='r')
gototop;
elsegotobottom;break;
case'8':
chare_mail4[40];cout<<"输入电子邮件:
";
cin>>e_mail4;
a.find8(e_mail4);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f8;
cin>>back_f8;
if(back_f8=='R'||back_f8=='r')
gototop;
elsegotobottom;break;
case'9':
charQQ4[16];cout<<"输入QQ号:
";
cin>>QQ4;
a.find9(QQ4);
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f9;
cin>>back_f9;
if(back_f9=='R'||back_f9=='r')
gototop;
elsegotobottom;break;
}
break;
case'3':
a.write();
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_w;
cin>>back_w;
if(back_w=='R'||back_w=='r')
gototop;elsegotobottom;break;
case'4':
a.read();
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_r;
cin>>back_r;
if(back_r=='R'||back_r=='r')
gototop;elsegotobottom;break;
case'5':
cout<<"请确认删除所有资料!
(Y/N)";
charselect5;cin>>select5;
if(select5=='Y'||select5=='y')
a.format();
cout<<"返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
";charback_f;cin>>back_f;
if(back_f=='R'||back_f=='r')gototop;elsegotobottom;
break;
}
bottom:
cout<<"★★★★★★★★★★★★★★★★★★★★★★★"<return0;}
//添加联系人
voidinter:
:
add(charspec[13],charuniversity[14],charname[20],charaddress[100],chartel_no[12],charnumber[15],charpost_code[7],chare_mail[40],charQQ[16])
{intx=1;
for(inti=0;i<35;i++)
{
if(!
strcmp(st[i].spec,"0"))
{strcpy(st[i].spec,spec);
strcpy(st[i].university,university);
strcpy(st[i].name,name);
strcpy(st[i].address,address);
strcpy(st[i].tel_no,tel_no);
strcpy(st[i].number,number);
strcpy(st[i].post_code,post_code);
strcpy(st[i].e_mail,e_mail);
strcpy(st[i].QQ,QQ);x=0;}
if(x==0)break;
}
}
//删除联系人
voidinter:
:
del(charname[20])
{intx=1;
for(inti=0;i<35;i++)
{if(!
strcmp(st[i].name,name))
{strcpy(st[i].address,"0");
strcpy(st[i].e_mail,"0");
strcpy(st[i].university,"0");
strcpy(st[i].name,"0");
strcpy(st[i].spec,"0");
strcpy(st[i].post_code,"0");
strcpy(st[i].tel_no,"0");
strcpy(st[i].number,"0");
strcpy(st[i].QQ,"0");}
elsex=0;}
if(x==0)
cout<<"error:
输入姓名错误!
"<//修改联系人
intinter:
:
correct(charname[30])
{intx;
for(inti=0;i<35;i++)
{if(!
strcmp(st[i].name,name))
x=i;}
charselect;
cout<<"
(1)修改姓名:
"<cout<<"
(2)修改专业:
"<cout<<"(3)修改地址:
"<cout<<"(4)修改邮编:
"<cout<<"(5)修改家庭电话号码:
"<cout<<"(6)修改E_MAIL:
"<cout<<"(7)修改大学:
"<cout<<"(8)修改本人电话号码:
"<cout<<"(9)修改QQ号码:
"<cout<<"请选择:
";
cin>>select;
switch(select)
{case'1':
cout<<"输入要修改的姓名:
";
charname1[20];
cin>>name1;
strcpy(st[x].name,name1);
cout<<"修改成功!
"<returnback();
break;
case'2':
cout<<"输入要修改的专业:
";
charspec1[13];
cin>>spec1;
strcpy(st[i].spec,spec1);
cout<<"修改成功!
"<returnback();
break;
case'3':
cout<<"输入要修改的地址:
";
charaddress1[100];
cin>>address1;
strcpy(st[x].address,address1);
cout<<"修改成功!
"<returnback();
break;
case'4':
cout<<"输入要修改的邮编:
";
charpost_code1[7];
cin>>post_code1;
strcpy(st[x].post_code,post_code1);
cout<<"修改成功!
"<returnback();
break;
case'5':
cout<<"输入要修改的电话号码:
";
chartel_no1[12];
cin>>tel_no1;
strcpy(st[x].tel_no,tel_no1);
cout<<"修改成功!
"<returnback();
break;
case'6':
cout<<"输入要修改的E_MAIL:
";
chare_mail1[40];
cin>>e_mail1;
strcpy(st[x].e_mail,e_mail1);
cout<<"修改成功!
"<case'7':
cout<<"输入要修改的大学:
";
charuniversity1[14];
cin>>university1;
strcpy(st[x].university,university1);
cout<<"修改成功!
"<returnback();
break;
case'8':
cout<<"输入要修改的本人电话号码:
";
charnumber1[15];
cin>>number1;
strcpy(st[x].number,number1);
cout<<"修改成功!
"<returnback();
break;
case'9':
cout<<"输入要修改的QQ:
";
charQQ1[16];
cin>>QQ1;
strcpy(st[x].QQ,QQ1);
cout<<"修改成功!
"<returnback();
break;
}
}
//按专业查询联系人
voidinter:
:
find1(charspec[13])
{intx,y=1,z=1;
for(inti=0;i<35;i++)
{if(!
strcmp(st[i]