使用vector存储联系人信息可动态管理数据,通过结构体封装姓名、电话等字段,实现添加、显示、查找、删除功能,代码简洁且易扩展,适合中小型通讯录程序开发。

用C++开发一个通讯录程序,使用
vector
容器来存储联系人信息是一种常见且高效的做法。它能动态管理联系人数量,避免固定数组的大小限制。下面是一个结构清晰、功能实用的通讯录程序实现思路和代码示例。
联系人结构设计
每个联系人包含基本信息,如姓名、电话、性别、年龄、地址等。使用
struct
来封装这些数据。
struct Person { string name; string phone; string sex; int age; string address; Person(string n, string p, string s, int a, string addr) : name(n), phone(p), sex(s), age(a), address(addr) {}};
使用vector存储联系人
vector
作为主存储容器,支持动态增删查改。
vector contacts;
常用操作包括:
立即学习“C++免费学习笔记(深入)”;
添加联系人:使用
push_back()
插入新对象 遍历联系人:通过下标或迭代器访问 删除联系人:根据索引或姓名查找后用
erase()
移除 查找联系人:遍历匹配姓名或电话
核心功能实现示例
以下是几个关键功能的简要实现:
添加联系人
void addPerson(vector& contacts) { string name, phone, sex, address; int age; cout <> name; cout <> phone; cout <> sex; cout <> age; cout <> address; contacts.push_back(Person(name, phone, sex, age, address)); cout << "添加成功!n";}
显示所有联系人
void showAll(const vector& contacts) { if (contacts.empty()) { cout << "通讯录为空。n"; return; } for (const auto& p : contacts) { cout << "姓名:" << p.name << " 电话:" << p.phone << " 性别:" << p.sex << " 年龄:" << p.age << " 地址:" << p.address << "n"; }}
按姓名查找
void findPerson(const vector& contacts) { string name; cout <> name; for (const auto& p : contacts) { if (p.name == name) { cout << "找到: " << p.name << " " << p.phone << "n"; return; } } cout << "未找到该联系人。n";}
删除联系人
void deletePerson(vector& contacts) { string name; cout <> name; for (auto it = contacts.begin(); it != contacts.end(); ++it) { if (it->name == name) { contacts.erase(it); cout << "删除成功!n"; return; } } cout << "未找到该联系人。n";}
基本上就这些。通过
vector
管理联系人,代码简洁,易于扩展。你可以在此基础上加入文件读写(保存到txt或bin)、排序、修改功能,使程序更完整。C++标准库的
vector
自动处理内存,避免手动管理指针,适合初学者和中小型项目。
以上就是C++通讯录程序开发 vector容器存储联系人的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1472701.html
微信扫一扫
支付宝扫一扫