класс — Чтение текстовых файлов Переполнение стека

Я новичок в C ++, и я пытаюсь написать код, который читает целые числа текстового файла и сохраняет каждое целое число в различных переменных построчно.
У меня проблемы с синтаксисом и как организовать код. В основном текстовый файл содержит 4 целых числа в строке, значения которых должны быть считаны в координаты и идентификатор планеты класса, как показано ниже. Я знаю, что код 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;
}

0

Решение

У вас есть ошибки в вашем коде.

Обратите внимание, что в этой строке:
fin>>x->id>>x->x_coordinates>>x->y_coordinates>>x->y_coordinates; Вы дважды пишете x->y_coordinate вместо x->z_coordinate,

Кроме того, ваш void report_planet(planet &p) функция получает planet & в качестве аргумента, но вы передаете это fin который времени ofstream

Другое дело, что вы пытаетесь прочитать файл, а не записать в него, следовательно, использование ofstream неправильно, вы должны использовать ifstream вместо.

Ваш код даже компилируется?

Удачи.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]