Вот мой исходный код:
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("Set initial Temperature");
int set_temperature = int.Parse(Console.ReadLine());
ThermostatView.ControlTemperature(set_temperature);
Console.WriteLine("Continue? ");
string Continue = Console.ReadLine();
if (Continue == "no".ToUpper())
{
break;
}
}
}
}
class Thermostat
{
int defaultTemp { get; set; }
int decrease { get; set; }
int increase { get; set; }
public Thermostat()
{ }
public Thermostat(int DefaultTemp)
{
defaultTemp = DefaultTemp;
CurrentTemperature(defaultTemp);
}
public void CurrentTemperature(int defaultTemp)
{
Console.WriteLine("Current Temperature: {0}", defaultTemp);
}
public void ControlThermostat()
{
int Choice;
Console.WriteLine("Increase(1) or Decrease(2) Temperature");
Choice = int.Parse(Console.ReadLine());
ValidateControl(Choice);
}
public void ValidateControl(int choice)
{
if (choice == 2)
{
if(defaultTemp==0)
{
Console.WriteLine("Temperature at Minimum Setting!");
}
else {
Console.WriteLine("Decrease by: ");
decrease = int.Parse(Console.ReadLine());
DecreaseTemperature(decrease);
}
}
if (choice == 1)
{
if(defaultTemp == 100)
{
Console.WriteLine("Temperature at Maximum Setting!");
}
else
{
Console.WriteLine("Increase by: ");
increase = int.Parse(Console.ReadLine());
IncreaseTemperature(increase);
}
}
}
public void IncreaseTemperature(int increaseTemp)
{
defaultTemp =+ increaseTemp;
CurrentTemperature(defaultTemp);
}
public void DecreaseTemperature(int decreaseTemp)
{
defaultTemp =- decreaseTemp;
CurrentTemperature(defaultTemp);
}
}
class ThermostatView
{
public static void ControlTemperature(int Temperature)
{
Thermostat thermostat = new Thermostat(Temperature);
thermostat.ControlThermostat();
}
}
}
Вот мой вывод:
Окно консоли:
Установка начальной температуры 72 (ввод данных пользователем)
Текущая температура: 72
Повышение (1) или уменьшение (2) температуры
2 (ввод пользователя)
Уменьшение на: 40 (ввод пользователя)
Текущая температура: -40
Как получить начальную температуру, которая в этом случае была изменена на 72, вместо увеличения или уменьшения значения 0?