版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第C++实现通讯录小功能cout"——————————————————"endl;
cout"***********1.添加联系人***********"endl;
cout"***********2.删除联系人***********"endl;
cout"***********3.修改联系人***********"endl;
cout"***********4.查找联系人***********"endl;
cout"***********5.显示通讯录***********"endl;
cout"***********6.清空联系人***********"endl;
cout"***********0.退出通讯录***********"endl;
cout"——————————————————"endl;
}
2.退出
intmain(){
intselect=0;
cinselect;
switch(select){
case0://退出通讯录
cout"欢迎下次使用"endl;
system("pause");
return0;
break;
}
system("pause");
return0;
}
3.创建结构体
3.1创建联系人结构体
3.2创建通讯录结构体
//定义联系人结构体
//姓名、电话号码、邮箱、地址
structperson{
stringname;
stringnumber;
stringEmail;
stringaddress;
//定义通讯录结构体
structcontacts{
intpeople_num;
structpersonpersonarr[MAX];//子结构体:联系人信息
};
4.添加联系人
voidaddperson(structcontacts*p){
if(p-people_num==MAX){
cout"通讯录已满"endl;
}
else{//添加联系人信息
stringname,number,Email,address;
cout"请输入姓名:"endl;
cinname;
cout"请输入电话:"endl;
cinnumber;
cout"请输入邮箱:"endl;
cinEmail;
cout"请输入地址:"endl;
cinaddress;
p-personarr[p-people_num].name=name;
p-personarr[p-people_num].number=number;
p-personarr[p-people_num].Email=Email;
p-personarr[p-people_num].address=address;
p-people_num++;
cout"添加成功!"endl;
}
}
5.删除联系人
判断联系人是否存在
intexistperson(structcontacts*p,stringname){
for(inti=0;ip-people_num;i++){
if(p-personarr[i].name==name){
returni;
}
}
return-1;
}
若存在,获取联系人在通讯录位置,将position后面的都往前移动一个位置,覆盖之前的值
//删除联系人
voiddelperson(structcontacts*p,intposition){
while(position(p-people_num)){
p-personarr[position]=p-personarr[position+1];
position++;
}
p-people_num--;
cout"删除成功!"endl;
}
6.修改
检查要修改联系人是否存在,并获取当前位置
voidmodifyperson(structcontacts*p,intposition){
string
number,Email,address;
cout"请输入修改电话:"endl;
cinnumber;
cout"请输入修改邮箱:"endl;
cinEmail;
cout"请输入修改地址:"endl;
cinaddress;
p-personarr[position].number=number;
p-personarr[position].Email=Email;
p-personarr[position].address=address;
cout"修改成功!"endl;
}
7.查找
voidsearchperson(structcontacts*p,intposition){
cout"姓名:"p-personarr[position].name"
"
"电话:"p-personarr[position].number"
"
"邮箱:"p-personarr[position].Email"
"
"地址:"p-personarr[position].address"
";
}
8.显示通讯录
voidshowcontact(structcontacts*p){
for(inti=0;i(p-people_num);i++){
cout"姓名:"p-personarr[i].name"
"
"电话:"p-personarr[i].number"
"
"邮箱:"p-personarr[i].Email"
"
"地址:"p-personarr[i].address"
"endl;
}
}
9.清空通讯录
voidcleancontact(structcontacts*p){
p-people_num=0;
cout"已清空!"endl;
}
#includeiostream
usingnamespacestd;
#defineMAX200
//1.菜单栏显示
voidmenu(){
cout"——————————————————"endl;
cout"***********1.添加联系人***********"endl;
cout"***********2.删除联系人***********"endl;
cout"***********3.修改联系人***********"endl;
cout"***********4.查找联系人***********"endl;
cout"***********5.显示通讯录***********"endl;
cout"***********6.清空联系人***********"endl;
cout"***********0.退出通讯录***********"endl;
cout"——————————————————"endl;
//2.定义结构体
//2.1定义联系人结构体
//姓名、电话号码、邮箱、地址
structperson{
stringname;
stringnumber;
stringEmail;
stringaddress;
//2.2定义通讯录结构体
structcontacts{
intpeople_num;
structpersonpersonarr[MAX];//子结构体:联系人信息
//3.添加联系人
voidaddperson(structcontacts*p){
if(p-people_num==MAX){
cout"通讯录已满"endl;
}
else{//添加联系人信息
stringname,number,Email,address;
cout"请输入姓名:"endl;
cinname;
cout"请输入电话:"endl;
cinnumber;
cout"请输入邮箱:"endl;
cinEmail;
cout"请输入地址:"endl;
cinaddress;
p-personarr[p-people_num].name=name;
p-personarr[p-people_num].number=number;
p-personarr[p-people_num].Email=Email;
p-personarr[p-people_num].address=address;
p-people_num++;
cout"添加成功!"endl;
}
//4.删除联系人
//4.1检测联系人是否存在
intexistperson(structcontacts*p,stringname){
for(inti=0;ip-people_num;i++){
if(p-personarr[i].name==name){
returni;
}
}
return-1;
//删除联系人
voiddelperson(structcontacts*p,intposition){
while(position(p-people_num)){
p-personarr[position]=p-personarr[position+1];
position++;
}
p-people_num--;
cout"删除成功!"endl;
//5.修改联系人
voidmodifyperson(structcontacts*p,intposition){
string
number,Email,address;
cout"请输入修改电话:"endl;
cinnumber;
cout"请输入修改邮箱:"endl;
cinEmail;
cout"请输入修改地址:"endl;
cinaddress;
p-personarr[position].number=number;
p-personarr[position].Email=Email;
p-personarr[position].address=address;
cout"修改成功!"endl;
//6.查找联系人
voidsearchperson(structcontacts*p,intposition){
cout"姓名:"p-personarr[position].name"
"
"电话:"p-personarr[position].number"
"
"邮箱:"p-personarr[position].Email"
"
"地址:"p-personarr[position].address"
";
//7.显示通讯录
voidshowcontact(structcontacts*p){
for(inti=0;i(p-people_num);i++){
cout"姓名:"p-personarr[i].name"
"
"电话:"p-personarr[i].number"
"
"邮箱:"p-personarr[i].Email"
"
"地址:"p-personarr[i].address"
"endl;
}
//8.清空联系人
voidcleancontact(structcontacts*p){
p-people_num=0;
cout"已清空!"endl;
intmain(){
//创建通讯录结构体变量
structcontactsc;
//初始化通讯录当前联系人个数
c.people_num=0;
intselect=0;
stringname;
while(1){
menu();
cinselect;
switch(select){
case1://添加联系人
addperson(
system("pause");
break;
case2://删除联系人
cout"请输入删除联系人的姓名:";
cinname;
if(existperson(c,name)==-1){
cout"该联系人不存在!";
}
else{
delperson(c,existperson(c,name));
}
system("pause");
break;
case3://修改联系人
cout"请输入要修改联系人的姓名:";
cinname;
if(existperson(c,name)==-1){
cout"该联系人不存在!";
}
else{
modifyperson(c,existperson(c,name));
}
system("pause");
break;
case4://查找联系人
cout"请输入查找联系人的姓名:";
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南充科技职业学院单招职业技能测试题库及答案详解一套
- 2026年包头铁道职业技术学院单招职业技能考试题库带答案详解(a卷)
- 花艺环境设计师安全演练测试考核试卷含答案
- 感光材料乳剂熔化工班组管理考核试卷含答案
- 出河机司机复试能力考核试卷含答案
- 合成树脂生产工安全防护强化考核试卷含答案
- 生猪屠宰加工工7S考核试卷含答案
- 珂罗版制版员岗前冲突解决考核试卷含答案
- 妇女职业规划方案
- 乙烯-乙烯醇树脂装置操作工安全宣教水平考核试卷含答案
- GB/T 45465.1-2025热回收新风机组季节性能系数测试和计算方法第1部分:供热显热回收季节性能系数
- 职业技术学院《智能制造系统》课程标准
- 项目经理廉洁警示教育
- 《浆体管道输送系统的过程监控与故障诊断》
- 高危儿规范化健康管理专家共识解读
- 农业物资:2024年化肥农药销售合同模板
- 2024年03月深圳市深汕特别合作区机关事业单位2024年公开招考46名事务员笔试历年典型考题及考点研判与答案解析
- 2024北京背户车协议书范本
- 巨量引擎推广引流方案
- 中国美食菜谱大全
- 盘扣架安全施工方案审核要点
评论
0/150
提交评论