编写C++代码假没各戸数据包括:姓名、性別、眼多、申活、00、微信、公司。主要功能:1) 通沢 录信息录入功能;2通讯录信息修改、刪除功能:3,通讯录信息浏览功能:4)通讯录信息查询功能:5)按姓名排序功能:6)保行数据到文件。
时间: 2023-07-10 09:33:18 浏览: 117
好的,以下是一个简单的通讯录管理系统的C++代码实现:
```
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
// 定义联系人结构体
struct Contact {
string name;
string gender;
string phone;
string address;
string email;
string wechat;
string company;
};
// 定义比较函数,用于按姓名排序
bool compareByName(const Contact& a, const Contact& b) {
return a.name < b.name;
}
// 录入信息录入功能
void addContact(vector<Contact>& contacts) {
Contact contact;
cout << "请输入姓名:";
cin >> contact.name;
cout << "请输入性别:";
cin >> contact.gender;
cout << "请输入电话号码:";
cin >> contact.phone;
cout << "请输入地址:";
cin >> contact.address;
cout << "请输入电子邮件:";
cin >> contact.email;
cout << "请输入微信号:";
cin >> contact.wechat;
cout << "请输入公司:";
cin >> contact.company;
contacts.push_back(contact);
cout << "联系人添加成功!" << endl;
}
// 通讯录信息修改、删除功能
void modifyContact(vector<Contact>& contacts) {
string name;
cout << "请输入要修改/删除的联系人姓名:";
cin >> name;
for (auto& contact : contacts) {
if (contact.name == name) {
cout << "请输入要修改的信息类型(姓名、性别、电话、地址、邮箱、微信、公司):";
string type;
cin >> type;
if (type == "姓名") {
cout << "请输入新的姓名:";
cin >> contact.name;
} else if (type == "性别") {
cout << "请输入新的性别:";
cin >> contact.gender;
} else if (type == "电话") {
cout << "请输入新的电话号码:";
cin >> contact.phone;
} else if (type == "地址") {
cout << "请输入新的地址:";
cin >> contact.address;
} else if (type == "邮箱") {
cout << "请输入新的电子邮件:";
cin >> contact.email;
} else if (type == "微信") {
cout << "请输入新的微信号:";
cin >> contact.wechat;
} else if (type == "公司") {
cout << "请输入新的公司:";
cin >> contact.company;
} else {
cout << "无效的信息类型!" << endl;
return;
}
cout << "联系人信息修改成功!" << endl;
return;
}
}
cout << "未找到该联系人!" << endl;
}
// 通讯录信息浏览功能
void showContacts(const vector<Contact>& contacts) {
if (contacts.empty()) {
cout << "通讯录为空!" << endl;
return;
}
for (const auto& contact : contacts) {
cout << "姓名:" << contact.name << endl;
cout << "性别:" << contact.gender << endl;
cout << "电话:" << contact.phone << endl;
cout << "地址:" << contact.address << endl;
cout << "邮箱:" << contact.email << endl;
cout << "微信:" << contact.wechat << endl;
cout << "公司:" << contact.company << endl;
cout << endl;
}
}
// 通讯录信息查询功能
void searchContact(const vector<Contact>& contacts) {
string name;
cout << "请输入要查询的联系人姓名:";
cin >> name;
for (const auto& contact : contacts) {
if (contact.name == name) {
cout << "姓名:" << contact.name << endl;
cout << "性别:" << contact.gender << endl;
cout << "电话:" << contact.phone << endl;
cout << "地址:" << contact.address << endl;
cout << "邮箱:" << contact.email << endl;
cout << "微信:" << contact.wechat << endl;
cout << "公司:" << contact.company << endl;
return;
}
}
cout << "未找到该联系人!" << endl;
}
// 保存数据到文件
void saveToFile(const vector<Contact>& contacts) {
ofstream outfile("contacts.txt");
for (const auto& contact : contacts) {
outfile << contact.name << " " << contact.gender << " " << contact.phone << " " << contact.address << " " << contact.email << " " << contact.wechat << " " << contact.company << endl;
}
outfile.close();
cout << "数据已保存到文件contacts.txt!" << endl;
}
int main() {
vector<Contact> contacts;
while (true) {
cout << "请选择操作:1.录入信息 2.修改/删除信息 3.浏览信息 4.查询信息 5.按姓名排序 6.保存到文件 0.退出" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
addContact(contacts);
break;
case 2:
modifyContact(contacts);
break;
case 3:
showContacts(contacts);
break;
case 4:
searchContact(contacts);
break;
case 5:
sort(contacts.begin(), contacts.end(), compareByName);
cout << "通讯录已按姓名排序!" << endl;
break;
case 6:
saveToFile(contacts);
break;
case 0:
return 0;
default:
cout << "无效的操作!" << endl;
break;
}
}
return 0;
}
```
注意,这只是一个简单的实现,您可以根据实际需求进行修改和完善。另外,由于该程序会将数据保存到文件中,如果您需要多次运行该程序,请确保每次运行前删除旧的数据文件。
阅读全文