您好,登录后才能下订单哦!
通讯录系统是一种常见的管理联系人信息的工具,它可以帮助用户存储、查询、修改和删除联系人信息。本文将介绍如何使用C++实现一个简单的通讯录系统。
在开始编写代码之前,我们需要明确通讯录系统的基本功能需求:
为了存储联系人信息,我们可以使用struct
来定义一个联系人结构体,包含姓名、电话号码等字段。为了方便管理多个联系人,我们可以使用std::vector
来存储所有的联系人。
#include <iostream>
#include <vector>
#include <string>
struct Contact {
std::string name;
std::string phoneNumber;
};
用户可以通过输入姓名和电话号码来添加联系人。我们将联系人信息存储到std::vector<Contact>
中。
void addContact(std::vector<Contact>& contacts) {
Contact newContact;
std::cout << "请输入姓名: ";
std::cin >> newContact.name;
std::cout << "请输入电话号码: ";
std::cin >> newContact.phoneNumber;
contacts.push_back(newContact);
std::cout << "联系人添加成功!" << std::endl;
}
我们可以遍历std::vector<Contact>
,并输出每个联系人的信息。
void displayContacts(const std::vector<Contact>& contacts) {
if (contacts.empty()) {
std::cout << "通讯录为空!" << std::endl;
return;
}
for (const auto& contact : contacts) {
std::cout << "姓名: " << contact.name << ", 电话号码: " << contact.phoneNumber << std::endl;
}
}
用户可以通过姓名或电话号码查找联系人。我们可以遍历std::vector<Contact>
,并匹配用户输入的关键字。
void findContact(const std::vector<Contact>& contacts) {
std::string keyword;
std::cout << "请输入要查找的姓名或电话号码: ";
std::cin >> keyword;
bool found = false;
for (const auto& contact : contacts) {
if (contact.name == keyword || contact.phoneNumber == keyword) {
std::cout << "找到联系人: 姓名: " << contact.name << ", 电话号码: " << contact.phoneNumber << std::endl;
found = true;
}
}
if (!found) {
std::cout << "未找到联系人!" << std::endl;
}
}
用户可以通过姓名查找联系人,并修改其信息。我们可以遍历std::vector<Contact>
,找到匹配的联系人后,允许用户修改其信息。
void modifyContact(std::vector<Contact>& contacts) {
std::string name;
std::cout << "请输入要修改的联系人姓名: ";
std::cin >> name;
for (auto& contact : contacts) {
if (contact.name == name) {
std::cout << "请输入新的电话号码: ";
std::cin >> contact.phoneNumber;
std::cout << "联系人信息修改成功!" << std::endl;
return;
}
}
std::cout << "未找到联系人!" << std::endl;
}
用户可以通过姓名查找联系人,并将其从std::vector<Contact>
中删除。
void deleteContact(std::vector<Contact>& contacts) {
std::string name;
std::cout << "请输入要删除的联系人姓名: ";
std::cin >> name;
for (auto it = contacts.begin(); it != contacts.end(); ++it) {
if (it->name == name) {
contacts.erase(it);
std::cout << "联系人删除成功!" << std::endl;
return;
}
}
std::cout << "未找到联系人!" << std::endl;
}
用户可以选择退出系统,结束程序的运行。
void exitSystem() {
std::cout << "退出系统,感谢使用!" << std::endl;
exit(0);
}
在主函数中,我们可以使用一个循环来不断显示菜单,并根据用户的选择调用相应的功能函数。
int main() {
std::vector<Contact> contacts;
int choice;
while (true) {
std::cout << "\n通讯录管理系统\n";
std::cout << "1. 添加联系人\n";
std::cout << "2. 显示所有联系人\n";
std::cout << "3. 查找联系人\n";
std::cout << "4. 修改联系人信息\n";
std::cout << "5. 删除联系人\n";
std::cout << "6. 退出系统\n";
std::cout << "请选择操作: ";
std::cin >> choice;
switch (choice) {
case 1:
addContact(contacts);
break;
case 2:
displayContacts(contacts);
break;
case 3:
findContact(contacts);
break;
case 4:
modifyContact(contacts);
break;
case 5:
deleteContact(contacts);
break;
case 6:
exitSystem();
break;
default:
std::cout << "无效的选择,请重新输入!" << std::endl;
break;
}
}
return 0;
}
通过以上步骤,我们实现了一个简单的通讯录系统。该系统可以满足基本的联系人管理需求,包括添加、显示、查找、修改和删除联系人。当然,这个系统还可以进一步扩展,例如增加更多的联系人信息字段、支持文件存储、提供更复杂的查找功能等。
希望本文能帮助你理解如何使用C++实现一个简单的通讯录系统。如果你有任何问题或建议,欢迎在评论区留言讨论!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。