Добавил:
darksnaper
Поблагодарить: +79781085150 - CБЕР
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#ifndef ORGTECHCLASS_H
#define ORGTECHCLASS_H
class OrgTechnic
{
public:
int id;
char category[50];
char model[100];
char purchaseDate[20];
int warrantyMonths;
float price;
char additionalInfo[200];
int coordX;
int coordY;
// Методы
bool IsWarrantyValid();
float CurrentValue();
int MonthsInUse();
void SetCoordinates(int x, int y);
// Методы для работы с файлами
void SaveToFile(FILE *file);
void LoadFromFile(FILE *file);
};
class Supply
{
public:
char supplier[100];
char category[50];
char model[100];
char supplyDate[20];
void SaveToFile(FILE *file);
void LoadFromFile(FILE *file);
};
class Repair
{
public:
int deviceId;
char category[50];
char model[100];
char repairStartDate[20];
char condition[100];
void SaveToFile(FILE *file);
void LoadFromFile(FILE *file);
};
class ReportCalculator
{
private:
OrgTechnic* devices;
int deviceCount;
bool* categoryFilter; // Фильтр по категориям
char** categories; // Список категорий
int categoryCount; // Количество категорий
public:
// Конструктор
ReportCalculator(OrgTechnic* devArray, int count);
// Новый конструктор с фильтром
ReportCalculator(OrgTechnic* devArray, int count, bool* filter, char** cats, int catCount);
// Методы для расчетов
float CalculateTotalOriginalValue();
float CalculateTotalCurrentValue();
float CalculateTotalDepreciation();
float CalculateDepreciationPercentage();
int CountDevicesWithWarranty();
int CountDevicesWithoutWarranty();
int GetTotalDevicesCount();
// Метод для проверки проходит ли устройство через фильтр
bool DevicePassesFilter(int index);
};
#endif
Соседние файлы в папке Курсовая работа Армашев 3 семестр. Список оргтехники предприятия. С++
