0

我是 C++ 的新手,我正在尝试编写一个代码来读取文本文件的整数并将每个整数逐行保存在不同的变量中。我在语法和如何安排代码方面遇到问题。基本上,文本文件每行包含 4 个整数,这些值将被读取到类行星的坐标和 id,如下所示。我知道代码 beloe 不完整,但这是我第一次使用 c++ 编程并且需要帮助。请你不需要用行星或任何东西来解释这一点。我只需要一个大致的了解

#include <iostream>
#include <fstream>



using namespace std;

class planet{
    public :
    float x_coordinates;
    float y_coordinates;
    float z_coordinates;
    int id;
};




planet*generate_planet(istream &fin)
{
    planet *x= new planet;
    fin >> x->id >> x->x_coordinates >> x->y_coordinates >> x->z_coordinates;

    return (x);
}
void report_planet( planet &p)
{

 cout<<"planet "<<p.id<<" has coordinates (" << p.x_coordinates<<","<<       p.y_coordinates<<","<< p.z_coordinates<<")"<<endl;
}
int main()
{
planet p;
planet *x;
ifstream fin("route.txt");
generate_planet(fin);
report_planet(*x);


  return 0;
}
4

1 回答 1

3

您的代码中有一些错误。

请注意,在这一行中: fin>>x->id>>x->x_coordinates>>x->y_coordinates>>x->y_coordinates;您写入两次 tox->y_coordinate而不是x->z_coordinate.

此外,您的void report_planet(planet &p)函数接收planet &作为参数,但您传递它fin是时间ofstream

另一件事是您正在尝试读取文件,而不是写入文件,因此使用ofstream是错误的,您应该ifstream改用。

你的代码甚至可以编译吗?

祝你好运。

于 2012-10-25T12:44:47.550 回答