реализован согласно "Создание конструкторов и деструктора" на шаблон класса с параметром -Тип данных в файле, редактируется (байт / слово / двойное слово)
Код:
#include "stdafx.h"
#include <windows.h>
#include<iostream>
#include<conio.h>
#include<cstdlib>
#include<stdlib.h>
#include <dos.h>
#include <stdio.h>
#include<math.h>
using namespace std;
class holodilnik
{ public:
bool power; // переменная тока
int temperatyra; // переменная температуры
int operator + (int);
bool door;// дверь
void operator << (bool);
bool signal;// сигнал открития двери
//как записать workstate !
public:
void reset(void)// первые значения
{ power= false;
door= false;
signal=false;
};
void vkl_stan(void) // функция включения
{
if(!power)
{
power=true;// тогда вкл power
cout<<"Включено"; // вывести на экран
}
else cout<<"Питание уже включено!!!";
};
void vukl_stan(void)//функция выключения
{ if(power)
{// если повер=1
power=false;// выключит повер
cout<<"Выключено";
}
else cout<<"Выключено !!!";// вывод на экран
};
void colding (void)
{ if (power) // если вкл питание
{ int t,t1,t2;
cout<<"Введите температуру в комнате"<<endl;
cin>>t1; // считауем какая сейчас темература
cout<<"Введите целевую температуру"<<endl;
cin>>t2;// считуем нужную температуру
double d=24*log((double)(abs(t1-t2))); // разница температур по модулю
t=(d); // formula (log возможно)!!!!!!!
cout<<t <<"ожидайте пожалуйтса(s4utaet ne pravilno)"<<endl;
cout<<"Вкл охлождение!";
}
else cout<<"Вкл питание!!!!"; // если питание выключенно
};
void door_open (void) // дверь открыть
{
if(!door)
{
door=true;
cout<<"дверь открыта"<<endl;
int t1,t2;
double t;
cout<<"Введите температуру в комнате"<<endl;
cin>>t1; // считауем какая сейчас темература
cout<<"Введите целевую температуру"<<endl;
cin>>t2;// считуем нужную температуру
if(t1>t2)
cout<<"Внутреннея температура меньше внешней , потому увеличеваем температуру на 5% от разницы"<<endl;
t=((double)(abs(t1)-abs(t2))/100)*5;
cout<<"температура в открытом холодильнике = "<<t+t2<<endl;
signal=true;
cout<<"signal: пожалуйста закройте дверь";
}
else cout<<"Дверь уже открыта!";
}
void door_close (void) // дверь закрить
{ if(door)
{ door=false ;
cout<<"Дверь закрыта";
signal=false;
}
else cout<<"дверь уже закрыта не ломайте программу!";
}
void statys (void)
{ if(power)
{cout<<"power on ";
}else cout<<"power off ";
if(door)
{
cout<<"дверь открыта, сигналка включена ";
}else cout<<"дверь закрыта, сигналка офф ";
}
};
void main()
{ holodilnik s; // создания samsung
s.reset();
printf (" Made in China \n");
setlocale(LC_ALL,"Russian");
printf("Поставьте пожалуйста 5 за лабораторку, у меня света не было :С");
do // безконечный цикл
{
// меню!!!
printf ("\n К вашему вниманию супер Холодильник Nord \n");
printf ("----Ваше величество,соблаговолите выбрать вариант---\n");
printf ("\t[1 - Вкл] \n");
printf ("\t[2 - Выкл] \n");
printf ("\t[3 - открыть дверь] \n");
printf ("\t[4 - закрыть дверь]\n");
printf ("\t[5- colding]\n");
printf ("\t[6- Состояние] \n");
int key= getch();
switch (key) // оператор выбору
{ case '1': s.vkl_stan();cout<<endl;break ; // если 1 то включить || включает сразу 2 функции !!!
case '2': s.vukl_stan();cout<<endl;break; // если то выключит
case '3' : s.door_open();break; // если
case '4': s.door_close();cout<<endl;break;
case '5':s.colding();break;
case '6':s.statys();break;
};
_getch();}while(true);
}