C++ 个人通讯录管理系统(四)
现在开始第四、五、六个功能:查找、修改和删除联系人。
1、查找联系人
功能描述:按照姓名查看指定联系人信息。
查找联系人实现步骤
封装查找联系人函数
测试查找指定联系人
1.1 封装查找联系人函数
实现思路:判断用户指定的联系人是否存在,如果存在显示信息,不存在则提示查无此人。
查找联系人代码:
//4、查找指定联系人信息
void findPerson(Addressbooks * abs)
{cout << "请输入您要查找的联系人" << endl;string name;cin >> name;int ret = isExist(abs, name);if (ret != -1){cout << "姓名:" << abs->personArray[ret].m_Name << "\t";cout << "性别:" << abs->personArray[ret].m_Sex << "\t";cout << "年龄:" << abs->personArray[ret].m_Age << "\t";cout << "电话:" << abs->personArray[ret].m_Phone << "\t";cout << "住址:" << abs->personArray[ret].m_Addr << endl;}else{cout << "查无此人" << endl;}system("pause");system("cls");}
1.2 测试查找指定联系人
在switch case 语句中,case4里添加:
#include <iostream>
#include <string>using namespace std;#define MAX 1000 //最大人数int main() {
int select = 0;
while (true){showMenu();
cin >> select;switch (select){case 1: //添加联系人addPerson(&abs);break;case 2: //显示联系人showPerson(&abs);break;case 3: //删除联系人deletePerson(&abs); break;case 4: //查找联系人findPerson(&abs);break;case 5: //修改联系人break;case 6: //清空联系人break;case 0: //退出通讯录cout << "欢迎下次使用" << endl;system("pause");return 0;break;default:break;}}
system("pause");
return 0;
}
2、修改联系人
功能描述:按照姓名重新修改指定联系人。
修改联系人实现步骤
封装修改联系人函数
测试修改联系人功能
2.1 封装修改联系人函数
实现思路:查找用户输入的联系人,如果查找成功进行修改操作,查找失败提示查无此人。
//5、修改联系人
void modifyPerson(Addressbooks * abs)
{cout << "请输入您要修改的联系人: ";string name;cin >> name;int ret = isExist(abs, name);if (ret != -1){//修改对应的联系人//姓名string nameModify;cout << "请输入修改后的姓名:";cin >> nameModify;abs->personArray[ret].m_Name = nameModify;//性别int sex = 0;while (true){cout << "请输入修改后的性别(1: 男, 2: 女):";cin >> sex;if (sex == 1 || sex == 2){abs->personArray[ret].m_Sex = sex;break;}else{cout << "性别输入错误, 请重新输入!" << endl;}}//年龄cout << "请输入修改后的年龄:";int age = 0;while (true){cin >> age;if (age > 0 && age <= 130){abs->personArray[ret].m_Age = age;break;}else{cout << "年龄输入错误, 请重新输入!" << endl;}}//电话cout << "请输入修改后的电话:";string phone = "";cin >> phone;abs->personArray[ret].m_Phone = phone;//住址cout << "请输入修改后的住址:";string address = "";cin >> address;abs->personArray[ret].m_Addr = address;}else{cout << "查无此人!" << endl;}system("pause");system("cls");
}
2.2 测试修改联系人功能
在switch case 语句中,case 5里添加:
#include <iostream>
#include <string>using namespace std;#define MAX 1000 //最大人数int main() {
int select = 0;
while (true){showMenu();
cin >> select;switch (select){case 1: //添加联系人addPerson(&abs);break;case 2: //显示联系人showPerson(&abs);break;case 3: //删除联系人deletePerson(&abs); break;case 4: //查找联系人findPerson(&abs);break;case 5: //修改联系人modifyPerson(&abs);break;case 6: //清空联系人break;case 0: //退出通讯录cout << "欢迎下次使用" << endl;system("pause");return 0;break;default:break;}}
system("pause");
return 0;
}
实际测试效果:
3、清空联系人
功能描述:清空通讯录中所有信息。
清空联系人实现步骤:
封装清空联系人函数
测试清空联系人
3.1 封装清空联系人函数
实现思路: 将通讯录所有联系人信息清除掉,只要将通讯录记录的联系人数量置为0,做逻辑清空即可。
清空联系人代码:
//6、清空所有联系人
void cleanPerson(Addressbooks * abs)
{cout << "请确认是否要清空所有联系人 ? (0: 否, 1: 是)" << endl;int cleanPerson = 0;cin >> cleanPerson;if (cleanPerson){abs->m_Size = 0; //将维护的联系人数量置为0,做逻辑清空操作cout << "通讯录已清空!" << endl;}else{cout << "暂不清空, 退出!" << endl;}system("pause");system("cls");return;
}
实际测试效果:
3.2 测试清空联系人
在switch case 语句中,case 6 里添加:
#include <iostream>
#include <string>using namespace std;#define MAX 1000 //最大人数int main() {
int select = 0;
while (true){showMenu();
cin >> select;switch (select){case 1: //添加联系人addPerson(&abs);break;case 2: //显示联系人showPerson(&abs);break;case 3: //删除联系人deletePerson(&abs); break;case 4: //查找联系人findPerson(&abs);break;case 5: //修改联系人modifyPerson(&abs);break;case 6: //清空联系人cleanPerson(&abs);break;case 0: //退出通讯录cout << "欢迎下次使用" << endl;system("pause");return 0;break;default:break;}}
system("pause");
return 0;
}
至此,通讯录管理系统完成!
转载:【C++零基础入门到实战就业教程|传智教育-哔哩哔哩】 https://b23.tv/joc5Gdb
C++ 个人通讯录管理系统(四)相关推荐
- c语言个人通讯录管理系统实验报告_C语言实现个人通讯录管理系统
如何用c语言制作简易的个人通讯录管理系统?想必这是每一位初步学习c语言的同学需要解决的一个大问题.如何将这些数据类型不完全相同的数据元素存储并访问呢?采用结构体便能轻松解决这个问题! #include ...
- android运用 sqlite 实现简单的通讯录_大一新生作品:利用 C 语言实现quot;通讯录管理系统quot;,直言太简单...
说明: 本系统基于C语言实现班级通讯录管理系统,为大一时学习C语言刚入门所做的课程设计.功能包括增.删.查.改等,非常适合初学者练手.通讯录包括的个人信息有姓名.学号.性别.籍贯.政治面貌.手机号.Q ...
- c语言3级菜单_大一新生作品:利用 C 语言实现quot;通讯录管理系统quot;,直言太简单...
说明: 本系统基于C语言实现班级通讯录管理系统,为大一时学习C语言刚入门所做的课程设计.功能包括增.删.查.改等,非常适合初学者练手.通讯录包括的个人信息有姓名.学号.性别.籍贯.政治面貌.手机号.Q ...
- python通讯录管理系统 tk_通讯录管理系统课程设计
按照惯例,一波课程设计走起~ 这次写的是通讯录管理系统,经过几番大修和N+1次小修之后BUG已经很少了~先来看看期间遇到的哪些问题吧: Qusetion 1:针对手机号的排序问题(即交换结构体) 2: ...
- C++ 通讯录管理系统实验报告
[概述] 手机通讯录中的联系人的信息既可以存储在手机中,也可以存储在手机卡中,也可以同时存储在两个位置上(每个位置上的存储容量为1000,即手机卡中或手机上最多只能存储1000个联系人). 存储在手机 ...
- c语言通讯录程序线性表,数据结构(C语言)课设1——单位员工通讯录管理系统(线性表应用)...
数据结构(C语言)课设1--单位员工通讯录管理系统(线性表应用) 题目要求: 为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的手机号.及电子邮箱.其功能包括通讯录链表的建立.员工通讯信息 ...
- 个人通讯管理程序C语言,个人通讯录管理系统C语言源程序(优秀版)[1]
个人通讯录管理系统C语言源程序(优秀版)[1] 更新时间:2017/2/22 1:03:00 浏览量:613 手机版 C语言个人通讯录系统源程序: #include /*头文件*/ #includ ...
- C 语言课程设计 最终答辩版 学生通讯录管理系统
<span style="font-family: Arial, Helvetica, sans-serif;">/*</span> *********** ...
- 基于C++实现(控制台+界面)通讯录管理系统【100010012】
个人通讯录管理系统 问题描述: 主要内容: 个人通讯录是记录了同学(包含一起上学的学校名称).同事(包含共事的单位名称).朋友(包含认识的地点).亲戚(包含称呼)等与本人有关人员的数据集. 具体要求: ...
最新文章
- 利用JavaScript的复制
- 【学习笔记】7、标准数据类型—字符串
- Linux日常运维管理技巧(一)监控系统状态、监控网卡流量、监控IO性能、查看系统进程、查看网络状态、Linux下抓包tcpdump、Linux网络相关、DNS配置
- iOS 自定义view里实现控制器的跳转
- 让敏捷交付优秀的软件
- Exception in thread main java.lang.NoClassDefFoundError解决了
- 22计算机408考研—数据结构—线性表、栈、队列、数组
- mysql安装教程 2018_sql server 2018下载
- 服务器如何备份系统和配置,windows server 2008和2012如何设置完整备份+增量备份
- 关于城市旅游的HTML网页设计——中国旅游HTML+CSS+JavaScript 出游旅游主题度假酒店 计划出行网站设计
- 《亲密关系》良句收录和观后观想
- 怎么注册Github?用手机2分钟完成注册,互联网就是互相连接
- python十进制转八进制_Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)...
- 一文多发神器--ArtiPubOpenWrite
- 如何将网站上传到服务器空间,如何使用FTP工具将网站上传到虚拟主机空间
- 梅科尔工作室-张黎娜-鸿蒙笔记3
- Bugku:杂项 小美的秘密part2
- 麻雀虽小,五脏俱全——由C语言小程序深入学习软件工程和设计开发规范
- 古人对梦的解释_梦见古人如何解释梦意_周公解梦梦到古人如何解释梦意是什么意思_做梦梦见古人如何解释梦意好不好...
- 解决ClickHouse短连接超时的一个问题