答案是使用C++中的结构体和vector实现通讯录,通过菜单操作添加、查看和查找联系人。定义Contact结构体存储姓名和电话,利用std::vector管理联系人列表,提供添加、显示全部和按姓名查找的功能,结合命令行交互完成简易通讯录的核心逻辑。

C++实现一个简易通讯录功能,核心在于选择合适的数据结构来存储联系人信息,并围绕这个数据结构构建添加、查找、删除等基本操作。通常,我们会用到结构体(
struct
)来定义联系人,然后将其放入一个动态数组(如
std::vector
)中进行管理,再通过一个简单的命令行菜单来与用户交互。这听起来可能有点像搭积木,但每一步的选择都直接影响最终的可用性。
解决方案:在我看来,实现一个简易通讯录,最直观且易于上手的方式,就是定义一个
Contact
结构体来承载每个联系人的基本信息,比如姓名和电话号码。然后,我们用
std::vector
来存储这些联系人。这样一来,动态增删联系人就变得非常方便。
首先,我们定义联系人的结构:
#include #include #include #include // For numeric_limits// 定义联系人结构struct Contact { std::string name; std::string phone; // 构造函数,方便初始化 Contact(std::string n, std::string p) : name(std::move(n)), phone(std::move(p)) {} // 打印联系人信息 void display() const { std::cout << "姓名: " << name << ", 电话: " << phone << std::endl; }};// 全局向量来存储所有联系人std::vector contacts;// 添加联系人void addContact() { std::string name, phone; std::cout << "请输入联系人姓名: "; // 清除输入缓冲区,防止getline读取到之前的换行符 std::cin.ignore(std::numeric_limits::max(), 'n'); std::getline(std::cin, name); std::cout << "请输入联系人电话: "; std::getline(std::cin, phone); contacts.emplace_back(name, phone); std::cout << "联系人添加成功!" << std::endl;}// 查看所有联系人void viewContacts() { if (contacts.empty()) { std::cout << "通讯录为空。" << std::endl; return; } std::cout << "n--- 通讯录列表 ---" << std::endl; for (const auto& contact : contacts) { contact.display(); } std::cout << "------------------n" << std::endl;}// 查找联系人void searchContact() { if (contacts.empty()) { std::cout << "通讯录为空,无法查找。" << std::endl; return; } std::string nameToSearch; std::cout << "请输入要查找的联系人姓名: "; std::cin.ignore(std::numeric_limits::max(), 'n'); std::getline(std::cin, nameToSearch); bool found = false; std::cout << "n--- 查找结果 ---" << std::endl; for (const auto& contact : contacts) { if (contact.name == nameToSearch) { contact.display(); found = true; } } if (!found) { std::cout << "未找到姓名为 '" << nameToSearch << "' 的联系人。" << std::endl
以上就是C++如何实现简易通讯录功能的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1476223.html
微信扫一扫
支付宝扫一扫