part 10 1 1 0.25 3.7125 0.5125 9.4125 2 1 0.25 3.7375 0.5125 9.4125 3 1 0.25 3.7125 0.5375 9.4125 4 1 0.25 3.7375 0.5375 9.4125 5 1 0.25 3.6625 0.5125 9.4375 6 1 0.25 3.6875 0.5125 9.4375 7 1 0.25 3.7125 0.5125 9.4375 8 1 0.25 3.7375 0.5125 9.4375 9 1 0.25 3.6625 0.5375 9.4375 10 1 0.25 3.6875 0.5375 9.4375 endi这是一个文件的内容,创建一个类particle创建一个particle list(10)的数组对象,读取文件中的内容读到关键字part开始将10后面的数据分别读入属于particle类的数组,读到endi结束。最后再将数组中数据输出到一个文件上。c++代码
时间: 2024-01-02 22:04:22 浏览: 88
以下是实现该功能的 C++ 代码:
```cpp
#include <iostream>
#include <fstream>
using namespace std;
class Particle {
public:
int id;
float x, y, z;
float vx, vy, vz;
Particle(int id, float x, float y, float z, float vx, float vy, float vz) {
this->id = id;
this->x = x;
this->y = y;
this->z = z;
this->vx = vx;
this->vy = vy;
this->vz = vz;
}
};
int main() {
Particle particles[10];
ifstream infile("input.txt");
string line;
int i = 0;
while (getline(infile, line)) {
if (line == "part") {
for (int j = 0; j < 10; j++) {
int id;
float x, y, z, vx, vy, vz;
infile >> id >> x >> y >> z >> vx >> vy >> vz;
particles[j] = Particle(id, x, y, z, vx, vy, vz);
}
}
}
infile.close();
ofstream outfile("output.txt");
for (int j = 0; j < 10; j++) {
outfile << particles[j].id << " " << particles[j].x << " " << particles[j].y << " " << particles[j].z << " " << particles[j].vx << " " << particles[j].vy << " " << particles[j].vz << endl;
}
outfile.close();
return 0;
}
```
代码中,我们定义了一个 Particle 类,用于存储每个粒子的数据。在主函数中,我们创建一个 Particle 类型的数组 particles,大小为 10。然后使用 ifstream 读取文件 input.txt 中的内容,当读到关键字 part 时,循环读取 10 行数据,并分别创建 Particle 对象存储在数组 particles 中。最后使用 ofstream 将数组 particles 中的数据输出到文件 output.txt 中。