#include "material.h"

//создаем горючно-смазочный материал
material::material(string name, bool isFuel, unsigned price)
{
	number = 0, volume = 0;
	this->name = name; //передаем имя материала
	this->isFuel = isFuel; //передаем признак того, является ли материал топливом
	this->price = price; //передаем цену материала

	ifstream file; //файл с информацией о ГСМ
	file.open("data.txt"); //открываем файл
	if (file.is_open()) //если файл открыт
	{
		material* pMaterial = NULL; //указатель на считываемые с файла материал
		do
		{
			number++;
			pMaterial = next(&file); //читаем файл до тех пор, пока не дойдем до последнего материала
			if (pMaterial)delete pMaterial;
		} while (pMaterial);
		file.close(); //закрываем файл
	}
	else number = 1; //присваиваем номер данному материалу
}

material* material::next(ifstream* pFile)
{
	material* pMaterial = new material(); //создаем материал
	*pFile >> pMaterial->number; //считываем номер
	*pFile >> pMaterial->isFuel; //считываем класс
	*pFile >> pMaterial->price; //считываем цену
	*pFile >> pMaterial->volume;//считываем объем
	pMaterial->name = readLine(pFile); //считываем имя
	if (pFile->eof())
	{
		delete pMaterial;
		return NULL;
	}
	return pMaterial; //возвращаем указатель на материал
}

