通讯录管理系统修改信息功能的代码怎么写(要用到vector)
时间: 2024-02-22 21:56:13 浏览: 25
假设我们的通讯录管理系统存储联系人的信息包括姓名、电话号码、邮箱地址等字段,我们可以先定义一个 Contact 类来表示联系人信息:
```cpp
class Contact {
public:
string name;
string phone;
string email;
};
```
然后我们可以使用 vector 来保存联系人信息,定义一个全局变量 contacts:
```cpp
vector<Contact> contacts;
```
接下来,我们可以实现修改联系人信息的功能,具体代码如下:
```cpp
void modifyContact() {
string name;
cout << "Please enter the name of the contact you want to modify: ";
cin >> name;
// 遍历所有联系人,查找需要修改的联系人
bool found = false;
for (int i = 0; i < contacts.size(); i++) {
if (contacts[i].name == name) {
found = true;
// 输出当前联系人信息
cout << "Current information:" << endl;
cout << "Name: " << contacts[i].name << endl;
cout << "Phone: " << contacts[i].phone << endl;
cout << "Email: " << contacts[i].email << endl;
// 修改联系人信息
cout << "Please enter the new phone number: ";
cin >> contacts[i].phone;
cout << "Please enter the new email address: ";
cin >> contacts[i].email;
// 提示修改成功
cout << "Contact information has been modified successfully!" << endl;
break;
}
}
// 如果没找到联系人,提示不存在
if (!found) {
cout << "Contact not found!" << endl;
}
}
```
该函数会提示用户输入需要修改的联系人姓名,然后遍历所有联系人,查找需要修改的联系人。如果找到了联系人,就输出当前联系人信息,然后让用户输入新的电话号码和邮箱地址,并修改联系人信息。如果没找到联系人,就提示联系人不存在。
注意,这里假设每个联系人的姓名都是唯一的,如果有重复的姓名,修改联系人信息的时候可能会修改到多个联系人的信息。如果需要支持重复姓名,可以使用一个 vector 来保存所有同名的联系人,然后让用户选择需要修改的联系人。