c++读取格式如下的数据:111(点号) 4900.3527(x) 55.7205(y) -1232.5197(z) 1 112 4901.7747 55.4432 -832.7152 1...要求以数组格式存储,每个点可以根据点号直接在对应下标数组找到
时间: 2024-02-18 19:58:56 浏览: 47
C++数据类型及取值范围
您可以使用C++中的结构体来存储每个点的信息,然后再将结构体存储到数组中,每个结构体包含点号、x坐标、y坐标、z坐标和点的属性。下面是一个示例代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
struct Point {
int id; // 点号
double x; // x坐标
double y; // y坐标
double z; // z坐标
int attr; // 点的属性
};
int main() {
const int N = 100; // 假设最多有100个点
Point points[N]; // 定义结构体数组
int n = 0; // 点的个数
ifstream fin("data.txt"); // 打开数据文件
while(!fin.eof()) {
fin >> points[n].id >> points[n].x >> points[n].y >> points[n].z >> points[n].attr;
n++; // 读入一个点后,点的个数加1
}
fin.close(); // 关闭文件
// 输出每个点的信息
for(int i = 0; i < n; i++) {
cout << "点号:" << points[i].id << endl;
cout << "x坐标:" << points[i].x << endl;
cout << "y坐标:" << points[i].y << endl;
cout << "z坐标:" << points[i].z << endl;
cout << "属性:" << points[i].attr << endl;
cout << endl;
}
return 0;
}
```
上述代码将数据文件命名为"data.txt",可以根据实际情况进行修改。在读取数据时,使用了循环和文件结束标志eof(),可以自动识别文件末尾。读取后的每个点的信息都被存储在结构体数组points中,可以根据点号直接在对应下标数组找到对应的点信息。
阅读全文