用c++中的类实现班级通讯录系统,要求如下:1) 该系统主要处理通讯录的相关信息。 2) 通讯录信息主要包括:姓名、班级、手机、家庭电话、电子邮件、通讯录地址、邮编等内容。 3) 完成以下的操作:实现通讯录信息的添加、修改、删除和查询。 提示: 1)建立班级类、通讯录类 2)班级、通讯录信息的初始化 3)班级、通讯录信息的添加、修改、删除、查找 4)班级、通讯录信息的输出
时间: 2023-08-31 21:48:54 浏览: 114
好的,我可以为您提供一份示例代码,供您参考:
```c++
#include <iostream>
#include <vector>
#include <string>
using namespace std;
// 通讯录信息类
class ContactInfo {
public:
ContactInfo(string name, string clas, string phone, string homePhone, string email, string address, string zipcode) {
this->name = name;
this->clas = clas;
this->phone = phone;
this->homePhone = homePhone;
this->email = email;
this->address = address;
this->zipcode = zipcode;
}
string getName() {
return name;
}
string getClas() {
return clas;
}
void printInfo() {
cout << "姓名:" << name << endl;
cout << "班级:" << clas << endl;
cout << "手机:" << phone << endl;
cout << "家庭电话:" << homePhone << endl;
cout << "电子邮件:" << email << endl;
cout << "通讯录地址:" << address << endl;
cout << "邮编:" << zipcode << endl;
}
private:
string name;
string clas;
string phone;
string homePhone;
string email;
string address;
string zipcode;
};
// 班级类
class Class {
public:
Class(string name) {
this->name = name;
}
string getName() {
return name;
}
void addContactInfo(ContactInfo info) {
contactInfos.push_back(info);
}
void modifyContactInfo(string name) {
for (int i = 0; i < contactInfos.size(); i++) {
if (contactInfos[i].getName() == name) {
string clas, phone, homePhone, email, address, zipcode;
cout << "请输入修改后的班级:";
cin >> clas;
cout << "请输入修改后的手机:";
cin >> phone;
cout << "请输入修改后的家庭电话:";
cin >> homePhone;
cout << "请输入修改后的电子邮件:";
cin >> email;
cout << "请输入修改后的通讯录地址:";
cin >> address;
cout << "请输入修改后的邮编:";
cin >> zipcode;
contactInfos[i] = ContactInfo(name, clas, phone, homePhone, email, address, zipcode);
cout << "修改成功!" << endl;
return;
}
}
cout << "没有找到该联系人!" << endl;
}
void deleteContactInfo(string name) {
for (int i = 0; i < contactInfos.size(); i++) {
if (contactInfos[i].getName() == name) {
contactInfos.erase(contactInfos.begin() + i);
cout << "删除成功!" << endl;
return;
}
}
cout << "没有找到该联系人!" << endl;
}
void searchContactInfo(string name) {
for (int i = 0; i < contactInfos.size(); i++) {
if (contactInfos[i].getName() == name) {
contactInfos[i].printInfo();
return;
}
}
cout << "没有找到该联系人!" << endl;
}
void printContactInfos() {
cout << "班级:" << name << endl;
for (int i = 0; i < contactInfos.size(); i++) {
contactInfos[i].printInfo();
cout << endl;
}
}
private:
string name;
vector<ContactInfo> contactInfos;
};
// 通讯录类
class AddressBook {
public:
void addClass(Class c) {
classes.push_back(c);
}
void modifyContactInfo(string name) {
for (int i = 0; i < classes.size(); i++) {
classes[i].modifyContactInfo(name);
return;
}
cout << "没有找到该联系人!" << endl;
}
void deleteContactInfo(string name) {
for (int i = 0; i < classes.size(); i++) {
classes[i].deleteContactInfo(name);
return;
}
cout << "没有找到该联系人!" << endl;
}
void searchContactInfo(string name) {
for (int i = 0; i < classes.size(); i++) {
classes[i].searchContactInfo(name);
return;
}
cout << "没有找到该联系人!" << endl;
}
void printContactInfos() {
for (int i = 0; i < classes.size(); i++) {
classes[i].printContactInfos();
cout << endl;
}
}
private:
vector<Class> classes;
};
// 主函数
int main() {
AddressBook addressBook;
// 初始化通讯录信息
ContactInfo info1("张三", "一班", "13812345678", "010-12345678", "zhangsan@gmail.com", "北京市朝阳区", "100000");
ContactInfo info2("李四", "一班", "13912345678", "010-23456789", "lisi@gmail.com", "北京市海淀区", "100001");
ContactInfo info3("王五", "二班", "13612345678", "010-34567890", "wangwu@gmail.com", "北京市东城区", "100002");
// 初始化班级信息
Class class1("一班");
class1.addContactInfo(info1);
class1.addContactInfo(info2);
Class class2("二班");
class2.addContactInfo(info3);
// 添加班级到通讯录中
addressBook.addClass(class1);
addressBook.addClass(class2);
// 输出通讯录信息
addressBook.printContactInfos();
// 修改通讯录信息
addressBook.modifyContactInfo("张三");
// 输出修改后的通讯录信息
addressBook.printContactInfos();
// 删除通讯录信息
addressBook.deleteContactInfo("李四");
// 输出删除后的通讯录信息
addressBook.printContactInfos();
// 查找通讯录信息
addressBook.searchContactInfo("王五");
return 0;
}
```
这份代码使用了 C++ 的类来实现班级通讯录系统,包括了班级类、通讯录信息类和通讯录类。其中,班级类包含了一个通讯录信息的 vector,通讯录类包含了一个班级的 vector。使用了 vector 来存储通讯录信息和班级信息,方便进行添加、修改、删除和查询操作。同时,使用了一些简单的输入输出语句,让用户能够方便地操作系统。
阅读全文