有没有人能帮我把这个程序改成有二级界面的啊,要求还是C++,总体不变,需要改成二级界面
#include<bits/stdc++.h>
using namespace std;
// 定义Friend类
class Friend {
private:
string name; // 姓名
string sex; // 性别
int age; // 年龄
string phone; // 电话
string mail; // 邮箱
string qq; // QQ号码
string company; // 单位
public:
// 构造函数
Friend(string name = "", string sex = "", int age = 0, string phone = "", string mail = "", string qq = "", string company = "") {
this->name = name;
this->sex = sex;
this->age = age;
this->phone = phone;
this->mail = mail;
this->qq = qq;
this->company = company;
}
// 获取名称
string getName() const {
return name;
}
// 获取性别
string getSex() const {
return sex;
}
// 获取年龄
int getAge() const {
return age;
}
// 获取电话
string getPhone() const {
return phone;
}
// 获取邮箱
string getMail() const {
return mail;
}
// 获取QQ号码
string getQQ() const {
return qq;
}
// 获取单位
string getCompany() const {
return company;
}
// 设置名称
void setName(string name) {
this->name = name;
}
// 设置性别
void setSex(string sex) {
this->sex = sex;
}
// 设置年龄
void setAge(int age) {
this->age = age;
}
// 设置电话
void setPhone(string phone) {
this->phone = phone;
}
// 设置邮箱
void setMail(string mail) {
this->mail = mail;
}
// 设置QQ号码
void setQQ(string qq) {
this->qq = qq;
}
// 设置单位
void setCompany(string company) {
this->company = company;
}
// 显示Friend信息
void display() const {
cout << setw(10) << left << name
<< setw(5) << left << sex
<< setw(5) << left << age
<< setw(15) << left << phone
<< setw(20) << left << mail
<< setw(15) << left << qq
<< setw(20) << left << company << endl;
}
};
// 定义Addressbook类
class Addressbook {
private:
vector<Friend> list; // 好友列表
public:
// 添加好友
void addFriend() {
string name, sex, phone, mail, qq, company;
int age;
cout << "请输入添加的好友信息:" << endl;
cout << "姓名:";
cin >> name;
cout << "性别:";
cin >> sex;
cout << "年龄:";
cin >> age;
cout << "电话:";
cin >> phone;
cout << "邮箱:";
cin >> mail;
cout << "QQ号码:";
cin >> qq;
cout << "单位:";
cin >> company;
Friend friendNew(name, sex, age, phone, mail, qq, company);
list.push_back(friendNew);
}
// 显示所有好友
void displayAll() const {
cout << setw(10) << left << "姓名"
<< setw(5) << left << "性别"
<< setw(5) << left << "年龄"
<< setw(15) << left << "电话"
<< setw(20) << left << "邮箱"
<< setw(15) << left << "QQ号码"
<< setw(20) << left << "单位" << endl;
for (auto friendPtr = list.begin(); friendPtr != list.end(); friendPtr++) {
friendPtr->display();
}
}
// 修改好友信息
void modifyFriend() {
string name;
cout << "请输入要修改好友的姓名:";
cin >> name;
for (auto friendPtr = list.begin(); friendPtr != list.end(); friendPtr++) {
if (friendPtr->getName() == name) {cout << "请输入修改后的信息:" << endl;
cout << "姓名:(" << friendPtr->getName() << ")";
cin >> name;
friendPtr->setName(name);
cout << "性别:(" << friendPtr->getSex() << ")";
cin >> name;
friendPtr->setSex(name);
cout << "年龄:(" << friendPtr->getAge() << ")";
cin >> name;
friendPtr->setAge(stoi(name));
cout << "电话:(" << friendPtr->getPhone() << ")";
cin >> name;
friendPtr->setPhone(name);
cout << "邮箱:(" << friendPtr->getMail() << ")";
cin >> name;
friendPtr->setMail(name);
cout << "QQ号码:(" << friendPtr->getQQ() << ")";
cin >> name;
friendPtr->setQQ(name);
cout << "单位:(" << friendPtr->getCompany() << ")";
cin >> name;
friendPtr->setCompany(name);
cout << "好友信息修改成功!" << endl;
return;
}
}
cout << "该好友不存在!" << endl;
}
// 查找好友
void queryFriend() const {
string name;
cout << "请输入要查找的好友的姓名:";
cin >> name;
for (auto friendPtr = list.begin(); friendPtr != list.end(); friendPtr++) {
if (friendPtr->getName() == name) {
friendPtr->display();
return;
}
}
cout << "该好友不存在!" << endl;
}
// 删除好友
void deleteFriend() {
string name;
cout << "请输入要删除的好友的姓名:";
cin >> name;
for (auto friendPtr = list.begin(); friendPtr != list.end(); friendPtr++) {
if (friendPtr->getName() == name) {
list.erase(friendPtr);
cout << "好友信息删除成功!" << endl;
return;
}
}
cout << "该好友不存在!" << endl;
}
// 保存通讯录到文件
void saveToFile() const {
ofstream fout("addressbook.txt");
if (!fout) {
cout << "文件保存失败!" << endl;
return;
}
for (auto friendPtr = list.begin(); friendPtr != list.end(); friendPtr++) {
fout << friendPtr->getName() << " "
<< friendPtr->getSex() << " "
<< friendPtr->getAge() << " "
<< friendPtr->getPhone() << " "
<< friendPtr->getMail() << " "
<< friendPtr->getQQ() << " "
<< friendPtr->getCompany() << endl;
}
fout.close();
cout << "通讯录保存成功!" << endl;
}
// 从文件中读取通讯录
void readFromFile() {
ifstream fin("addressbook.txt");
if (!fin) {
return;
}
string name, sex, phone, mail, qq, company, data;
int age;
while (fin >> name >> sex >> age >> phone >> mail >> qq >> company) {
Friend friendNew(name, sex, age, phone, mail, qq, company);
list.push_back(friendNew);
}
fin.close();
}
// 显示菜单,主页面
void displayMenu() const {
cout << "*************************" << endl;
cout << "*** 1.添加好友信息 ***" << endl;
cout << "*** 2.显示所有好友信息 **" << endl;
cout << "*** 3.修改好友信息 ***" << endl;
cout << "*** 4.查找好友信息 ***" << endl;
cout << "*** 5.删除好友信息 ***" << endl;
cout << "*** 6.保存通讯录到文件***" << endl;
cout << "*** 7.从文件读取通讯录***" << endl;
cout << "*** 8.退出程序 ***" << endl;
cout << "*************************" << endl;
}
// 运行程序
void run() {
int choice;
displayMenu();
while (true) {
cout << "请选择操作:";
cin >> choice;
switch (choice) {
case 1:
addFriend();
break;
case 2:
displayAll();
break;
case 3:
modifyFriend();
break;
case 4:
queryFriend();
break;
case 5:
deleteFriend();
break;
case 6:
saveToFile();
break;
case 7:
readFromFile();
break;
case 8:
saveToFile();
cout << "程序已退出!" << endl;
return;
default:
cout << "输入有误,请重新选择!" << endl;
break;
}
displayMenu();
}
}
};
int main() {
Addressbook addressbook;
addressbook.readFromFile();
addressbook.run();
return 0;
}
稍等运行看看你现在的界面
system("cls");//清空控制台
在一级界面选择功能后调用