0

0

C++如何开发简易通讯录 联系人增删改查功能实现

P粉602998670

P粉602998670

发布时间:2025-06-28 09:10:02

|

380人浏览过

|

来源于php中文网

原创

c++++适合开发简易通讯录,关键步骤包括:1.设计联系人结构体;2.用vector管理列表;3.实现增删改查功能;4.构建交互菜单。首先定义包含姓名、电话、邮箱的contact结构体作为数据基础。接着使用vector动态存储多个联系人,利用push_back添加、erase删除。添加时获取用户输入并构造对象,查找需遍历比较字段。修改前要定位索引后更新属性,删除则调用erase方法。最后设计数字菜单持续运行程序,各功能封装为独立函数提升可维护性。

C++如何开发简易通讯录 联系人增删改查功能实现

要开发一个具备联系人增删改查功能的简易通讯录,C++ 是一个很合适的选择。这类程序适合练手面向对象编程和基础数据结构操作。实现的关键在于设计好联系人结构体、管理联系人列表,并围绕这些内容实现对应的功能函数。

C++如何开发简易通讯录 联系人增删改查功能实现

联系人结构体的设计

首先,你需要定义一个结构体来表示单个联系人。通常包括姓名、电话号码、邮箱等基本信息:

C++如何开发简易通讯录 联系人增删改查功能实现
struct Contact {
    string name;
    string phone;
    string email;
};

这个结构体可以作为存储每个联系人的容器。如果你希望将来扩展更多字段,比如地址或生日,也可以在这里添加。结构体是整个程序的基础,所以要确保字段清晰且命名直观。

立即学习C++免费学习笔记(深入)”;


用 vector 管理联系人列表

接下来,使用 vector 来保存多个联系人:

C++如何开发简易通讯录 联系人增删改查功能实现
vector contacts;

vector 是 C++ 标准库中动态数组的一种实现,支持自动扩容,非常适合用来管理不确定数量的数据。你可以通过下标访问元素,也可以使用 push_back() 添加新联系人,非常方便。

  • 添加联系人:创建一个新的 Contact 实例,填入信息后 push 到 vector 中。
  • 查找联系人:遍历 vector,比较名字或手机号是否匹配。
  • 删除联系人:找到索引后使用 erase() 删除。
  • 修改联系人:找到索引后直接更新其字段。

增删改查功能的实现思路

添加联系人

这部分逻辑简单,只需要让用户输入信息并构造一个 Contact 对象:

Contact newContact;
cout << "请输入姓名: ";
cin >> newContact.name;
// 同样处理 phone 和 email
contacts.push_back(newContact);

注意输入格式的规范性,比如不要让空格破坏输入流(例如使用 getline 处理带空格的姓名)。

查找联系人

查找可以根据姓名、电话等多个字段进行。常见做法是遍历整个 vector:

ProcessOn
ProcessOn

免费在线流程图思维导图,专业强大的作图工具,支持多人实时在线协作

下载
for (const auto& c : contacts) {
    if (c.name == targetName) {
        cout << "找到联系人:" << c.name << endl;
    }
}

如果联系人很多,效率可能不高,但对“简易通讯录”来说完全够用。

修改联系人

修改时先查找目标联系人,然后让用户重新输入信息:

if (foundIndex >= 0) {
    cout << "请输入新的电话号码: ";
    cin >> contacts[foundIndex].phone;
}

记得检查索引是否合法,避免越界访问。

删除联系人

删除同样需要先定位到目标位置,然后调用 erase()

contacts.erase(contacts.begin() + index);

删除操作会改变 vector 的大小,所以在后续遍历时要注意索引变化的问题。


程序交互与菜单设计

为了让用户能方便地操作,建议设计一个简单的文本菜单:

1. 添加联系人
2. 查看所有联系人
3. 修改联系人
4. 删除联系人
5. 退出
请选择操作:

用户输入数字后,使用 switch-caseif-else 分支执行对应功能。主循环持续运行直到用户选择退出。

另外,可以把各个功能封装成独立函数,提高代码可读性和维护性。


基本上就这些。虽然功能不复杂,但如果在细节上多注意,比如输入验证、错误提示、界面友好度等方面,就能做出一个真正可用的小工具

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

714

2023.08.22

switch语句用法
switch语句用法

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

521

2023.09.21

Java switch的用法
Java switch的用法

Java中的switch语句用于根据不同的条件执行不同的代码块。想了解更多switch的相关内容,可以阅读本专题下面的文章。

404

2024.03.13

go语言 面向对象
go语言 面向对象

本专题整合了go语言面向对象相关内容,阅读专题下面的文章了解更多详细内容。

54

2025.09.05

java面向对象
java面向对象

本专题整合了java面向对象相关内容,阅读专题下面的文章了解更多详细内容。

47

2025.11.27

golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

194

2025.06.09

golang结构体方法
golang结构体方法

本专题整合了golang结构体相关内容,请阅读专题下面的文章了解更多。

186

2025.07.04

treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

530

2023.12.01

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

177

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 3.2万人学习

Pandas 教程
Pandas 教程

共15课时 | 0.9万人学习

ASP 教程
ASP 教程

共34课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号