boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

C++通讯录程序开发 vector容器存储联系人


avatar
作者 2025年8月24日 18

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

C++通讯录程序开发 vector容器存储联系人

用C++开发一个通讯录程序,使用

vector

容器来存储联系人信息是一种常见且高效的做法。它能动态管理联系人数量,避免固定数组的大小限制。下面是一个结构清晰、功能实用的通讯录程序实现思路和代码示例。

联系人结构设计

每个联系人包含基本信息,如姓名、电话、性别、年龄、地址等。使用

来封装这些数据。

 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<Person>

作为主存储容器,支持动态增删查改。

 vector<Person> contacts; 

常用操作包括:

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

  • 添加联系人:使用
    push_back()

    插入新对象

  • 遍历联系人:通过下标或迭代器访问
  • 删除联系人:根据索引或姓名查找后用
    erase()

    移除

  • 查找联系人:遍历匹配姓名或电话

核心功能实现示例

以下是几个关键功能的简要实现:

添加联系人

 void addPerson(vector<Person>& contacts) {     string name, phone, sex, address;     int age;     cout << "姓名: "; cin >> name;     cout << "电话: "; cin >> phone;     cout << "性别: "; cin >> sex;     cout << "年龄: "; cin >> age;     cout << "地址: "; cin >> address;     contacts.push_back(Person(name, phone, sex, age, address));     cout << "添加成功!n"; } 

显示所有联系人

 void showAll(const vector<Person>& 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<Person>& contacts) {     string name;     cout << "输入要查找的姓名: "; cin >> name;     for (const auto& p : contacts) {         if (p.name == name) {             cout << "找到: " << p.name << " " << p.phone << "n";             return;         }     }     cout << "未找到该联系人。n"; } 

删除联系人

 void deletePerson(vector<Person>& contacts) {     string name;     cout << "输入要删除的姓名: "; cin >> 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

自动处理内存,避免手动管理指针,适合初学者和中小型项目。



评论(已关闭)

评论已关闭