C++实现简易通讯录管理系统
项目简介
本文主要介绍如何使用C++实现一个简易的通讯录管理系统,基本功能包括添加联系人信息、显示通讯录中的联系人信息、删除联系人信息、查找联系人信息、修改联系人信息。
实现步骤
- 定义联系人结构体
c++
struct Person {
string name; // 姓名
int age; // 年龄
string phone; // 电话号码
string sex; // 性别
};
- 创建通讯录管理类
c++
class AddressBook {
public:
// 构造函数
AddressBook();
// 添加联系人
void addPerson();
// 显示联系人信息
void showPerson();
// 查找联系人
void findPerson();
// 删除联系人
void deletePerson();
// 修改联系人
void modifyPerson();
private:
vector<Person> m_personList; // 通讯录中的联系人列表
};
- 实现通讯录管理类的具体函数
(1) 构造函数
c++
AddressBook::AddressBook()
{
m_personList.clear();
}
(2) 添加联系人
```c++
void AddressBook::addPerson()
{
cout << "姓名: ";
string name;
cin >> name;
cout << "年龄: ";
int age;
cin >> age;
cout << "电话: ";
string phone;
cin >> phone;
cout << "性别: ";
string sex;
cin >> sex;
Person person = { name, age, phone, sex };
m_personList.push_back(person);
}
```
(3) 显示联系人信息
c++
void AddressBook::showPerson()
{
cout << "---------------------------------------" << endl;
cout << "姓名\t年龄\t电话\t性别" << endl;
for (int i = 0; i < m_personList.size(); i++) {
cout << m_personList[i].name << "\t"
<< m_personList[i].age << "\t"
<< m_personList[i].phone << "\t"
<< m_personList[i].sex << endl;
}
cout << "---------------------------------------" << endl;
}
(4) 查找联系人
```c++
void AddressBook::findPerson()
{
cout << "请输入要查找的联系人姓名: ";
string name;
cin >> name;
for (int i = 0; i < m_personList.size(); i++) {
if (m_personList[i].name == name) {
cout << "姓名\t年龄\t电话\t性别" << endl;
cout << m_personList[i].name << "\t"
<< m_personList[i].age << "\t"
<< m_personList[i].phone << "\t"
<< m_personList[i].sex << endl;
return;
}
}
cout << "没有找到联系人" << endl;
}
```
(5) 删除联系人
```c++
void AddressBook::deletePerson()
{
cout << "请输入要删除的联系人姓名: ";
string name;
cin >> name;
for (vector<Person>::iterator it = m_personList.begin();
it != m_personList.end(); it++) {
if (it->name == name) {
m_personList.erase(it);
cout << "联系人已删除" << endl;
return;
}
}
cout << "没有找到联系人" << endl;
}
```
(6) 修改联系人
```c++
void AddressBook::modifyPerson()
{
cout << "请输入要修改的联系人姓名: ";
string name;
cin >> name;
for (int i = 0; i < m_personList.size(); i++) {
if (m_personList[i].name == name) {
cout << "请输入要修改的信息(姓名 年龄 电话 性别): ";
Person person;
cin >> person.name >> person.age >> person.phone >> person.sex;
m_personList[i] = person;
cout << "联系人信息已修改" << endl;
return;
}
}
cout << "没有找到联系人" << endl;
}
```
- 创建一个测试函数
```c++
void test()
{
AddressBook addressBook;
while (true) {
cout << "---------------------------------------" << endl;
cout << "请选择操作: " << endl;
cout << "1. 添加联系人" << endl;
cout << "2. 显示所有联系人" << endl;
cout << "3. 查找联系人" << endl;
cout << "4. 删除联系人" << endl;
cout << "5. 修改联系人信息" << endl;
cout << "6. 退出通讯录" << endl;
cout << "---------------------------------------" << endl;
cout << "请输入你选择的操作编号: ";
int choice;
cin >> choice;
switch (choice)
{
case 1:
addressBook.addPerson();
break;
case 2:
addressBook.showPerson();
break;
case 3:
addressBook.findPerson();
break;
case 4:
addressBook.deletePerson();
break;
case 5:
addressBook.modifyPerson();
break;
case 6:
cout << "Goodbye!" << endl;
return;
default:
cout << "输入错误,请重新输入" << endl;
break;
}
}
}
```
- 在main函数中调用测试函数
c++
int main()
{
test();
return 0;
}
示例说明
示例一
当我们运行程序并选择添加联系人操作时,按照提示输入联系人的信息:
请选择操作:
1. 添加联系人
2. 显示所有联系人
3. 查找联系人
4. 删除联系人
5. 修改联系人信息
6. 退出通讯录
---------------------------------------
请输入你选择的操作编号: 1
姓名: Tom
年龄: 28
电话: 139xxxxxxxx
性别: 男
我们可以通过选择“显示所有联系人”操作,来查看当前通讯录中的联系人:
请选择操作:
1. 添加联系人
2. 显示所有联系人
3. 查找联系人
4. 删除联系人
5. 修改联系人信息
6. 退出通讯录
---------------------------------------
请输入你选择的操作编号: 2
---------------------------------------
姓名 年龄 电话 性别
Tom 28 139xxxxxxxx 男
---------------------------------------
示例二
当我们运行程序并选择查找联系人操作时,按照提示输入要查找的联系人姓名:
请选择操作:
1. 添加联系人
2. 显示所有联系人
3. 查找联系人
4. 删除联系人
5. 修改联系人信息
6. 退出通讯录
---------------------------------------
请输入你选择的操作编号: 3
请输入要查找的联系人姓名: Tom
如果通讯录中存在该联系人,则会输出该联系人的信息:
姓名 年龄 电话 性别
Tom 28 139xxxxxxxx 男
如果通讯录中不存在该联系人,则会输出“没有找到联系人”。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++实现简易通讯录管理系统 - Python技术站