1)设计并实现一个C++联系人类:contact,该类有name,tel和postcode三个私有属性,为该类设计若干方法,包括构造函数、存取三个私有属性的函数、显示联系人信息的函数等。 (2)设计并实现一个通讯录类:addressBook,该类包含一个存放所有联系人的容器,使用数组,用CArray类实现, (3)为addressBook设计若干方法,包括显示所有联系人、增加联系人、删除联系人、插入联系人、查找联系人等函数,以及将所有联系人保存到文件和从文件中读取联系人的函数。 (4)设计主函数,显示操作选择菜单,完成通讯录的显示、增加、查找、删除和保存等功能。 (5)建立一个C++工程,包含需要的.h和.cpp文件
时间: 2023-05-18 21:02:47 浏览: 192
以下是C知道的回答:
1)为了实现联系人类,您可以按照以下方式设计:
```c++
class Contact {
private:
string name;
string tel;
string postcode;
public:
Contact(string name, string tel, string postcode);
string getName();
string getTel();
string getPostcode();
void setName(string name);
void setTel(string tel);
void setPostcode(string postcode);
void display();
};
```
其中,构造函数用于初始化联系人对象,存取函数用于获取和设置私有属性,display函数用于显示联系人信息。
2)为了实现通讯录类,您可以按照以下方式设计:
```c++
class AddressBook {
private:
CArray<Contact> contacts;
public:
void displayAllContacts();
void addContact(Contact contact);
void deleteContact(int index);
void insertContact(int index, Contact contact);
int findContact(string name);
void saveToFile(string filename);
void readFromFile(string filename);
};
```
其中,contacts是一个CArray类型的数组,用于存放所有联系人。displayAllContacts函数用于显示所有联系人,addContact函数用于增加联系人,deleteContact函数用于删除联系人,insertContact函数用于插入联系人,findContact函数用于查找联系人,saveToFile函数用于将所有联系人保存到文件,readFromFile函数用于从文件中读取联系人。
3)为了实现主函数,您可以按照以下方式设计:
```c++
int main() {
AddressBook addressBook;
int choice;
while (true) {
cout << "请选择操作:" << endl;
cout << "1. 显示所有联系人" << endl;
cout << "2. 增加联系人" << endl;
cout << "3. 查找联系人" << endl;
cout << "4. 删除联系人" << endl;
cout << "5. 保存联系人到文件" << endl;
cout << "6. 从文件中读取联系人" << endl;
cout << "0. 退出" << endl;
cin >> choice;
switch (choice) {
case 1:
addressBook.displayAllContacts();
break;
case 2:
string name, tel, postcode;
cout << "请输入联系人姓名:" << endl;
cin >> name;
cout << "请输入联系人电话:" << endl;
cin >> tel;
cout << "请输入联系人邮编:" << endl;
cin >> postcode;
addressBook.addContact(Contact(name, tel, postcode));
break;
case 3:
string searchName;
cout << "请输入要查找的联系人姓名:" << endl;
cin >> searchName;
int index = addressBook.findContact(searchName);
if (index == -1) {
cout << "未找到该联系人!" << endl;
} else {
addressBook.displayContact(index);
}
break;
case 4:
int deleteIndex;
cout << "请输入要删除的联系人序号:" << endl;
cin >> deleteIndex;
addressBook.deleteContact(deleteIndex);
break;
case 5:
string filename;
cout << "请输入要保存的文件名:" << endl;
cin >> filename;
addressBook.saveToFile(filename);
break;
case 6:
string readFilename;
cout << "请输入要读取的文件名:" << endl;
cin >> readFilename;
addressBook.readFromFile(readFilename);
break;
case 0:
return 0;
default:
cout << "无效的操作!" << endl;
break;
}
}
}
```
其中,使用while循环实现操作选择菜单,根据用户的选择调用相应的函数。
4)为了建立C工程,您可以按照以下步骤操作:
- 创建一个新的C++项目。
- 将Contact.h、Contact.cpp、CArray.h、CArray.cpp、AddressBook.h、AddressBook.cpp和main.cpp文件添加到项目中。
- 编译和运行项目,测试通讯录的功能。
希望这些回答能够帮助您完成C知道的角色扮演任务!
阅读全文