通讯录管理系统c++项目
时间: 2023-07-03 19:08:14 浏览: 112
通讯录管理系统是一个比较典型的C++项目。以下是一个简单的通讯录管理系统的设计:
1.通讯录管理系统应该包含一个主菜单,提供以下功能:
(1)添加联系人:输入姓名、性别、年龄、联系电话、家庭住址等信息,将联系人存储到通讯录中。
(2)显示联系人:显示通讯录中已经存储的所有联系人信息。
(3)删除联系人:按照姓名或者电话号码删除指定联系人。
(4)查找联系人:按照姓名或者电话号码查找指定联系人。
(5)修改联系人:按照姓名或者电话号码修改指定联系人。
(6)清空联系人:清空通讯录中所有联系人信息。
(7)退出通讯录:退出系统。
2.通讯录管理系统应该包括一个联系人结构体,用于存储联系人信息:
```
struct ContactPerson
{
string name; // 姓名
string gender; // 性别
int age; // 年龄
string phone; // 联系电话
string address; // 家庭住址
};
```
3.通讯录管理系统应该使用一个vector来存储所有的联系人信息:
```
vector<ContactPerson> contactList;
```
4.通讯录管理系统应该使用循环结构实现主菜单的交互,直到用户选择退出系统为止。
以下是一个简单的通讯录管理系统的C++代码实现:
```c++
#include <iostream>
#include <vector>
using namespace std;
// 联系人结构体
struct ContactPerson
{
string name; // 姓名
string gender; // 性别
int age; // 年龄
string phone; // 联系电话
string address; // 家庭住址
};
// 添加联系人
void addContactPerson(vector<ContactPerson>& contactList)
{
ContactPerson person;
cout << "请输入姓名:" << endl;
cin >> person.name;
cout << "请输入性别:" << endl;
cin >> person.gender;
cout << "请输入年龄:" << endl;
cin >> person.age;
cout << "请输入联系电话:" << endl;
cin >> person.phone;
cout << "请输入家庭住址:" << endl;
cin >> person.address;
contactList.push_back(person);
cout << "添加成功!" << endl;
}
// 显示联系人
void showContactPerson(vector<ContactPerson>& contactList)
{
if (contactList.empty())
{
cout << "通讯录为空!" << endl;
}
else
{
for (int i = 0; i < contactList.size(); i++)
{
cout << "姓名:" << contactList[i].name << "\t";
cout << "性别:" << contactList[i].gender << "\t";
cout << "年龄:" << contactList[i].age << "\t";
cout << "联系电话:" << contactList[i].phone << "\t";
cout << "家庭住址:" << contactList[i].address << endl;
}
}
}
// 删除联系人
void deleteContactPerson(vector<ContactPerson>& contactList)
{
string name, phone;
cout << "请输入删除联系人的姓名或联系电话:" << endl;
cin >> name;
for (vector<ContactPerson>::iterator it = contactList.begin(); it != contactList.end(); it++)
{
if (it->name == name || it->phone == name)
{
contactList.erase(it);
cout << "删除成功!" << endl;
return;
}
}
cout << "未找到该联系人!" << endl;
}
// 查找联系人
void searchContactPerson(vector<ContactPerson>& contactList)
{
string name, phone;
cout << "请输入查找联系人的姓名或联系电话:" << endl;
cin >> name;
for (int i = 0; i < contactList.size(); i++)
{
if (contactList[i].name == name || contactList[i].phone == name)
{
cout << "姓名:" << contactList[i].name << "\t";
cout << "性别:" << contactList[i].gender << "\t";
cout << "年龄:" << contactList[i].age << "\t";
cout << "联系电话:" << contactList[i].phone << "\t";
cout << "家庭住址:" << contactList[i].address << endl;
return;
}
}
cout << "未找到该联系人!" << endl;
}
// 修改联系人
void modifyContactPerson(vector<ContactPerson>& contactList)
{
string name, phone;
cout << "请输入修改联系人的姓名或联系电话:" << endl;
cin >> name;
for (int i = 0; i < contactList.size(); i++)
{
if (contactList[i].name == name || contactList[i].phone == name)
{
cout << "请输入修改后的姓名:" << endl;
cin >> contactList[i].name;
cout << "请输入修改后的性别:" << endl;
cin >> contactList[i].gender;
cout << "请输入修改后的年龄:" << endl;
cin >> contactList[i].age;
cout << "请输入修改后的联系电话:" << endl;
cin >> contactList[i].phone;
cout << "请输入修改后的家庭住址:" << endl;
cin >> contactList[i].address;
cout << "修改成功!" << endl;
return;
}
}
cout << "未找到该联系人!" << endl;
}
// 清空联系人
void clearContactPerson(vector<ContactPerson>& contactList)
{
contactList.clear();
cout << "清空成功!" << endl;
}
// 主菜单
void mainMenu(vector<ContactPerson>& contactList)
{
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 << "7.退出通讯录" << endl;
cout << "=====================" << endl;
int choice;
cin >> choice;
switch (choice)
{
case 1:
addContactPerson(contactList);
break;
case 2:
showContactPerson(contactList);
break;
case 3:
deleteContactPerson(contactList);
break;
case 4:
searchContactPerson(contactList);
break;
case 5:
modifyContactPerson(contactList);
break;
case 6:
clearContactPerson(contactList);
break;
case 7:
exit(0);
default:
cout << "输入错误,请重新输入!" << endl;
break;
}
}
}
int main()
{
vector<ContactPerson> contactList;
mainMenu(contactList);
return 0;
}
```
阅读全文