//добавление товара в список
this->list[current] = tv;
this->current++;
}
//сохранение списка товаров в файл
void CTovarList::SaveListToFile()
{
FILE *Fz;//переменная для работы с файлами
//открыли файл для добавления записей
Fz = fopen("Tovar.txt","a+");
int msize = sizeof(CTovar);
//запись списка товаров в файл
for(int i = 0; i < this->current; i++)
fwrite(&(this->list[i]), msize, 1, Fz);
fclose(Fz);
printf("Data is write to file!!!");
}
//загрузка списка товаров из файла в список
void CTovarList::LoadListFromFile()
{
FILE *Fz;//переменная для работы с файлами
//открыли файл для чтения записей
if ((Fz = fopen("Tovar.txt","rb")) == NULL )
printf("File open error!!!");
else
{
int msize = sizeof(CTovar);
this->current = 0;
//чтение списка товаров из файла
while(1)
{
if( ! fread(&(this->list[current++]), msize, 1, Fz) )
break;
}
current--;
fclose(Fz);
printf("Data is read from file!!!");
if (current > 0)
this->OutList();
}
}
//вывод списка товаров на экран монитора
void CTovarList::OutList()
{
if ( current > 0 )
for(int i = 0; i < this->current; i++)
printf("\n%3i %20s , %6.3f", list[i].getNumber(), list[i].getTovarName(), list[i].getCost() );
else
printf("List is empty!");
}
//вернуть значение количества товаров в списке
int CTovarList::getCount()
{
return current;
}
Файл «Zakaz.h»
/////////////////////////////
///class CZakaz
/////////////////////////////
class CZakaz : public CTovar, public CClient
{
public:
CZakaz();
virtual ~CZakaz();//деструктор
//инициализация свойств объекта вводом с клавиатуры
//и переданными значениями
void InitZakazData(CTovar tov);
//перегрузка оператора присваивания
CZakaz &operator = (const CZakaz &);
};
/////////////////////////////
///class CZakazList
/////////////////////////////
class CZakazList
{
CZakaz * list;
int current;
public:
CZakazList();//конструктор по умолчанию
//конструктор с параметрами
CZakazList(int count);
virtual ~CZakazList();//деструктор
//добавить заказ в список
void AddZakaz(CTovar tov);
//дружественная функция для вывода списка заказов на экран монитора
void OutZakazList();
};
Файл «Zakaz.cpp»
// Zakaz.cpp: implementation of the CZakaz class.
//
//////////////////////////////////////////////////////////////////////
#include "Zakaz.h"
/////////////////////////////
///class CZakaz
/////////////////////////////
CZakaz::CZakaz()
{
}
CZakaz::~CZakaz()
{
}
//инициализация свойств объекта вводом с клавиатуры
//и переданными значениями
void CZakaz::InitZakazData(CTovar tov)
{
strcpy(tovar_name, tov.getTovarName());
cost = tov.getCost();
number = tov.getNumber();
this->InitClientData();
}
//перегрузка оператора присваивания
CZakaz &CZakaz::operator = (const CZakaz & zak)
{
if( this != &zak) // проверка, не копирование ли объекта в себя
{
//копируем значения полей
strcpy(tovar_name, zak.tovar_name);
cost = zak.cost;
number = zak.number;
strcpy(client_name, zak.client_name);
is_in_black_list = zak.is_in_black_list;
}
return *this;
}
/////////////////////////////
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.