Суть задачи в том чтобы считывать из файла строки которые содержат в себе данные и в строке выполняется условие то выводить ее в другой файл.
Я решил поочередно считывать строку заполняя поля структуры и в случае выполнения условия выводить эти поля.
Проблема в том, что программа не работает и я даже не могу разобраться почему, так как visual studio просто сообщает о том , что возникли ошибки сборки. Как правило после такого оно подчеркивает ошибочные места или выводит исключение , но не в этом случае.
Прошу помогите отладить программу и укажите в чем ошибка, заранее спасибо.
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("E:\\inputStruct.txt");
ofstream out("E:\\outputStruct.txt");
struct List
{
char Mark[20], Num[10], ExName[20];
int Year, PastRoad;
void Show();
void Print();
};
void List :: Show()
{
cout << Mark[20] << '\t' << Num[10] << '\t' << ExName[20] << '\t' << Year << '\t' << PastRoad << endl;
}
void List :: Print()
{
out << Mark[20] << '\t' << Num[10] << '\t' << ExName[20] << '\t' << Year << '\t' << PastRoad << endl;
}
List **PutInStruct(ifstream& in, ofstream& out, int pastRoad);
int main()
{
if (!in)
{
cout << "Error" << endl;
system("pause");
return -1;
}
cout << "Enter required PastRoad " << endl;
int pastRoad;
cin >> pastRoad;
**PutInStruct(in, out, pastRoad);
system("pause");
return 0;
}
List **PutInStruct(ifstream& in, ofstream& out, int pastRoad)
{
List AutoList;
while (in.peek() != EOF)
{
in >> AutoList.Mark;
in >> AutoList.Num;
in >> AutoList.ExName;
in >> AutoList.Year;
in >> AutoList.PastRoad;
if (AutoList.PastRoad < pastRoad)
{
AutoList.Print();
}
}
}