




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第C++实现通讯录系统项目实战本文实例为大家分享了C++实现通讯录系统项目的具体代码,供大家参考,具体内容如下
制作一个具有添加联系人、删除联系人、修改联系人等功能的通讯录系统
效果图:
代码如下:
#includeiostream
usingnamespacestd;
#includestring
#defineMax1000
//创建联系人结构体
structperson
stringp_name;
intp_sex;
//1、男
2、女
intp_age;
stringp_phone;
stringp_address;
//创建通讯录结构体
structaddressbooks
//保存的联系人数组
structpersonpersonarr[Max];
//当前记录的人数
intp_size;
voidshowmenu(){
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;
//添加联系人
voidaddperson(addressbooks*abs)
//先判断通讯录是否已满
if(abs-p_size==Max)
{
cout"通讯录已满"endl;
return;
}
else
{
stringname;
cout"请输入姓名:"endl;
cinname;
abs-personarr[abs-p_size].p_name=name;
cout"请输入性别:"endl;
cout"输入1--男"endl;
cout"输入2--女"endl;
intsex=0;
while(true)
{
cinsex;
if(sex==1||sex==2)
{
//输入1或者2,退出循环.
输入其他数字重新循环
abs-personarr[abs-p_size].p_sex=sex;
break;
}
cout"请重新输入"endl;
}
}
//年龄
cout"请输入年龄"endl;
intage=0;
cinage;
abs-personarr[abs-p_size].p_age=age;
//电话
cout"请输入联系电话"endl;
stringphone;
cinphone;
abs-personarr[abs-p_size].p_phone=phone;
//地址
cout"请输入地址"endl;
stringaddress;
cinaddress;
abs-personarr[abs-p_size].p_address=address;
//更新通讯录
abs-p_size++;
cout"添加成功"endl;
system("pause");
system("cls");
//显示联系人
voidshowperson(addressbooks*abs)
if(abs-p_size==0)
{
cout"当前联系人为空"endl;
}
else
{
for(inti=0;iabs-p_size;i++)
{
cout"姓名:"abs-personarr[i].p_name"\t";
cout"性别:"(abs-personarr[i].p_sex==1"男":"女")"\t";
cout"年龄:"abs-personarr[i].p_age"\t";
cout"电话:"abs-personarr[i].p_phone"\t";
cout"地址:"abs-personarr[i].p_addressendl;
}
}
//清屏回到最初菜单
system("pause");
system("cls");
//检测联系人是非存在通讯录中,如果存在,返回该联系人在通讯录中的位置,不存在返回-1
intisExist(addressbooks*abs,stringname)
for(inti=0;iabs-p_size;i++)
{
if(abs-personarr[i].p_name==name)
{
returni;
}
return-1;
//遍历整个通讯录没有,则返回值为-1
}
//删除联系人
voiddeleteperson(addressbooks*abs)
cout"请输入要删除的联系人姓名"endl;
stringname;
cinname;
intret=isExist(abs,name);
if(ret!=-1)
{
for(inti=ret;iabs-p_size;i++)
{
//后面的数据全部往前覆盖一格
abs-personarr[i]=abs-personarr[i+1];
}
abs-p_size--;
cout"删除成功"endl;
}
else
{
cout"通讯录中不存在该联系人"endl;
}
system("pause");
system("cls");
//查找指定联系人
voidfindperson(addressbooks*abs)
cout"请输入您要查找的联系人姓名:"endl;
stringname;
cinname;
intret=isExist(abs,name);
if(ret!=-1)
{
cout"姓名:"abs-personarr[ret].p_name"\t";
cout"性别:"abs-personarr[ret].p_sex"\t";
cout"年龄:"abs-personarr[ret].p_age"\t";
cout"电话"abs-personarr[ret].p_phone"\t";
cout"地址:"abs-personarr[ret].p_addressendl;
}
else
{
cout"通讯录中不存在该联系人"endl;
}
system("pause");
system("cls");
//修改联系人
voidmodifyperson(addressbooks*abs)
cout"请输入您要查找的联系人姓名:"endl;
stringname;
cinname;
intret=isExist(abs,name);
if(ret!=-1)
{
stringname;
cout"请输入新的姓名:"endl;
cinname;
abs-personarr[ret].p_name=name;
intsex=0;
cout"请输入性别:
1--男
2--女"endl;
cout"请输入性别:"endl;
cout"输入1--男"endl;
cout"输入2--女"endl;
while(true)
{
cinsex;
if(sex==1||sex==2)
{
//输入1或者2,退出循环.
输入其他数字重新循环
abs-personarr[abs-p_size].p_sex=sex;
break;
}
cout"请重新输入"endl;
}
intage=0;
cout"请输入年龄:"endl;
cinage;
abs-personarr[ret].p_age=age;
stringphone;
cout"请输入新的电话:"endl;
cinphone;
abs-personarr[ret].p_phone=phone;
stringaddress;
cout"请输入新的地址:"endl;
cinaddress;
abs-personarr[ret].p_address=address;
cout"修改成功!"endl;
}
else
{
cout"通讯录中无该联系人"endl;
}
system("pause");
system("cls");
//清空联系人
voidemptyperson(addressbooks*abs)
cout"确认此操作"endl;
cout"输入:1--确认"endl;
cout"输入:其他--否"endl;
intselect2=0;
cinselect2;
if(select2==1)
{
//将该通讯录中的联系人数量清零
abs-p_size=0;
cout"
已清空
"endl;
}
system("pause");
system("cls");
intmain()
addressbooksabs;
abs.p_size=0;
intselect=0;
while(true)
{
showmenu();
cinselect;
//选择模式
switch(select)
{
case1:
//1、添加联系人
addperson(abs);
//利用地址传递修饰实参
break;
case2:
//2、显示联系人
showperson(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭农场经营租赁合同及要求
- 食品加工厂原料采购与加工合作协议
- 智慧办公服务平台建设协议
- 2025陕西化建工程有限责任公司西安公司招聘笔试参考题库附带答案详解
- 2025新疆西北兴业城投集团有限公司岗位招聘(12人)笔试参考题库附带答案详解
- 2025山东济钢集团有限公司招聘48人笔试参考题库附带答案详解
- 道路勘测试题及答案
- 衡水护理面试试题及答案
- 纺织工程师证书考试内容生成的试题及答案
- 低空经济政策带来的产业新机遇解析
- 劳务外包服务方案(技术方案)
- JJG 443-2023燃油加油机(试行)
- 妊娠期高血压疾病预防与治疗
- 水热合成法合成三氧化钨
- 电镀有限公司双体系资料之风险分级管控体系实施手册
- EMS概要设计说明书计费模块
- 矿山安全培训课件-矿山地质安全
- JJF 1356.1-2023重点用能单位能源计量审查规范数据中心
- (完整)被动防护网施工方案
- 《高层建筑火灾扑救》教学课件
- 东师《德育与班级管理》题库与答案
评论
0/150
提交评论