0

私はC ++を初めて使用し、テキストファイルの整数を読み取り、各整数を行ごとに異なる変数に保存するコードを作成しようとしています。構文とコードの配置方法に問題があります。基本的に、テキスト ファイルには、以下に示すように、1 行に 4 つの整数が含まれており、これらの値はクラスの惑星の座標と ID に読み込まれます。下のコードが不完全であることは知っていますが、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;to を 2 回書いています。x->y_coordinatex->z_coordinate

また、void report_planet(planet &p)関数はplanet &引数として受け取りますが、それを渡すfinのは時間ですofstream

もう1つのことは、ファイルに書き込もうとしているのではなく、ファイルを読み込もうとしているということです。したがって、の使用ofstreamは間違っていますifstream。代わりに使用する必要があります。

あなたのコードはコンパイルされますか?

幸運を。

于 2012-10-25T12:44:47.550 に答える