class _0843杨晓慧 { public: int num; string name; char sex; double score1,score2,score3; }; class _0843杨晓慧_1:public _0843杨晓慧 { public: vector<_0843杨晓慧>v; _0843杨晓慧_1() ; void _0843杨晓慧1() ; void _0843杨晓慧2() ; void _0843杨晓慧3();void _0843杨晓慧4() ; void _0843杨晓慧5() ; void _0843杨晓慧6() ; void _0843杨晓慧7() ;}; _0843杨晓慧 s; _0843杨晓慧_1 i;在上述代码的基础上写一个保存函数
时间: 2024-03-15 13:46:45 浏览: 46
为了保存 `_0843杨晓慧_1` 类的数据,可以将数据保存到一个文件中。以下是一个可能的实现:
```c++
#include <fstream>
#include <iostream>
using namespace std;
class _0843杨晓慧 {
public:
int num;
string name;
char sex;
double score1, score2, score3;
};
class _0843杨晓慧_1 : public _0843杨晓慧 {
public:
vector<_0843杨晓慧> v;
_0843杨晓慧_1();
void _0843杨晓慧1();
void _0843杨晓慧2();
void _0843杨晓慧3();
void _0843杨晓慧4();
void _0843杨晓慧5();
void _0843杨晓慧6();
void _0843杨晓慧7();
};
_0843杨晓慧 s;
_0843杨晓慧_1 i;
// 保存函数
void save_data(const string& filename) {
// 打开文件
ofstream outfile(filename);
// 写入数据
outfile << i.num << "," << i.name << "," << i.sex << "," << i.score1 << "," << i.score2 << "," << i.score3 << endl;
for (const auto& item : i.v) {
outfile << item.num << "," << item.name << "," << item.sex << "," << item.score1 << "," << item.score2 << "," << item.score3 << endl;
}
// 关闭文件
outfile.close();
cout << "数据已保存到文件 " << filename << endl;
}
int main() {
// 填充数据
i.num = 1;
i.name = "杨晓慧";
i.sex = 'F';
i.score1 = 90;
i.score2 = 85;
i.score3 = 95;
_0843杨晓慧 item1;
item1.num = 2;
item1.name = "张三";
item1.sex = 'M';
item1.score1 = 80;
item1.score2 = 75;
item1.score3 = 85;
_0843杨晓慧 item2;
item2.num = 3;
item2.name = "李四";
item2.sex = 'M';
item2.score1 = 85;
item2.score2 = 90;
item2.score3 = 80;
i.v.push_back(item1);
i.v.push_back(item2);
// 保存数据
save_data("data.txt");
return 0;
}
```
此代码将主程序中的数据保存到名为 `data.txt` 的文件中。可以根据需要自定义文件名和路径。保存时,将主数据和 `v` 中的所有数据按照逗号分隔的格式写入文件。读取时,可以使用类似的方法从文件中读取数据并填充至程序中。
阅读全文