static void Main() { string jsonString = File.ReadAllText("config.json"); InternalCombustionEngineConfig config = JsonSerializer.Deserialize <InternalCombustionEngineConfig>(jsonString); InternalCombustionEngine engine = new InternalCombustionEngine(config); Console.WriteLine("Введите значение температуры окружающей среды:"); double external_T; try { external_T = Convert.ToDouble(Console.ReadLine()); } catch (Exception e) { Console.WriteLine("Неверный формат температуры окружающей среды"); return; } try { double time = engine.Start(external_T, 10000); Console.WriteLine($"Время перегрева - {time} секунд"); } catch (Exception e) { Console.WriteLine(e.Message); return; } }
Base.Temperature GetHeatingTemperature(InternalCombustionEngine engine) { double v = engine.CrankshaftSpeed; double m = GetTorque(v); double hm = parameters.HeatingSpeedOfTorqueCoeff; double hv = parameters.HeatingSpeedOfCrankshaftSpeedCoeff; engine.CrankshaftSpeed += modelTimeStep.Seconds * (m / parameters.MomentOfInertia); return(new Base.Temperature(modelTimeStep.Seconds * (m * hm + v * v * hv))); }
public override bool Equals(object obj) { if (obj == null) { return(false); } InternalCombustionEngine m = obj as InternalCombustionEngine; // возвращает null если объект нельзя привести к типу if (m as InternalCombustionEngine == null) { return(false); } return(base.Equals(obj) && m.TypeOfFuelUsed == this.TypeOfFuelUsed && m.MethodOfProcessingTheWorkingMixture == this.MethodOfProcessingTheWorkingMixture && m.Volume == this.Volume); }
static void Main() { Person[] passagers = { new Person() { FirstName = "Sergei", LastName = "Bubka", Age = null }, new Person() { FirstName = "Kolio", LastName = "Paramov", Age = 55 } }; Person driver = new Person() { FirstName = "Josef", LastName = "Prust", Age = 34 }; var carEngine = new InternalCombustionEngine() { Model = "Ferarri", FuelType = "Diesel", HorsePower = 340 }; Car car = new Car() { Brand = "Mazda", Doors = 5, IsInMotion = true, RegistrationPlate = new List <char>("H2354AS4"), Driver = driver, ManifacturingDate = new DateTime(1990, 09, 06), Passagers = passagers.ToList(), Engine = carEngine }; car.SomeShit.Add(driver); Mapper mapper = new Mapper(); Plane makeMeAPlane = mapper.Map <Plane>(car); }
static void Main(string[] args) { InternalCombustionEngine Engine1 = new InternalCombustionEngine("Двигатель внутреннего сгорания", 25, 1999, "Бензин", "Поршневой двигатель", 1500); Diesel Engine2 = new Diesel("Дизель", 30, 1995, "Грузовик", "Четырёхтактный двигатель", 1700); TurboJetEngine Engine3 = new TurboJetEngine("Турбореактивный двигатель", 30, 2011, 40, 35, 25); TurboJetEngine Engine4 = new TurboJetEngine("Турбореактивный двигатель", 32, 2014, 30, 21, 13); Diesel Engine5 = new Diesel("Дизель", 30, 1996, "Легковой", "Трехтактный двигатель", 1700); InternalCombustionEngine Engine6 = new InternalCombustionEngine("Двигатель внутреннего сгорания", 24, 1999, "Бензин", "Поршневой двигатель", 1500); TurboJetEngine Engine7 = new TurboJetEngine("Турбореактивный двигатель", 32, 2014, 30, 21, 13); TurboJetEngine Engine8 = new TurboJetEngine("Турбореактивный двигатель", 30, 2005, 28, 35, 25); Diesel Engine9 = new Diesel("Дизель", 30, 1995, "Мотоцикл", "Четырёхтактный двигатель", 1700); Diesel Engine10 = new Diesel("Дизель", 30, 1995, "Автобус", "Четырёхтактный двигатель", 1700); Diesel Engine11 = new Diesel("Дизель", 30, 1995, "Автобус", "Четырёхтактный двигатель", 1700); Engine[] arr = new Engine[100]; arr[0] = Engine1; arr[1] = Engine2; arr[2] = Engine3; arr[3] = Engine4; arr[4] = Engine5; arr[5] = Engine6; arr[6] = Engine7; arr[7] = Engine8; arr[8] = Engine9; arr[9] = Engine10; arr[10] = Engine11; for (int i = 0; i < 10; i++) { Console.WriteLine(arr[i]); } Diesel Naiti = new Diesel("Дизель", 30, 1995, "Автобус", "Четырёхтактный двигатель", 1700); for (int i = 0; i < 10; i++) { if (arr[i].Equals(Naiti) == true) { Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("найденный объект"); Console.WriteLine(arr[i]); } } Console.ReadKey(); }
Base.Temperature GetCoolingTemperature(InternalCombustionEngine engine) { double c = parameters.CoolingSpeedOfTemperaturesCoeff; return(new Base.Temperature(-modelTimeStep.Seconds * c * (ambientTemperature.Celsius - engine.Temperature.Celsius))); }
//Иправить двигатели public ProcessResult EditModification(Modification mod, int ice, int ee) { Modification m = GetModification(mod.Id); if (m == null) { return(ProcessResults.NoSuchModification); } if (ice == 0) { m.InternalCombustionEngineId = null; m.InternalCombustionEngine = null; } else if (ice == 1) { InternalCombustionEngine i = mod.InternalCombustionEngine; if (i.Location <= 0) { i.Location = null; } if (i.FuelTypeId <= 0) { i.FuelTypeId = null; } if (i.ValvesArrangementId <= 0) { i.ValvesArrangementId = null; } if (m.InternalCombustionEngineId == null) { i = Data.InternalCombustionEngines.Add(i); Data.SaveChanges(); m.InternalCombustionEngineId = i.Id; } else { m.InternalCombustionEngine = i; } } else { m.InternalCombustionEngineId = mod.InternalCombustionEngineId; } if (ee == 0) { m.ElectricEngine = null; m.ElectricEngineId = null; } else if (ee == 1) { ElectricEngine e = mod.ElectricEngine; if (e.BatteryTypeId <= 0) { e.BatteryTypeId = null; } if (m.ElectricEngineId == null) { e = Data.ElectricEngines.Add(e); Data.SaveChanges(); m.ElectricEngineId = e.Id; } else { m.ElectricEngine = e; } } else { m.ElectricEngineId = mod.ElectricEngineId; } if (mod.TransmissionTypeId <= 0) { mod.TransmissionTypeId = null; } if (mod.Drive <= 0) { mod.Drive = null; } if (mod.TireCarcassTypeId <= 0) { mod.TireCarcassTypeId = null; } m.BackTrackWidth = mod.BackTrackWidth; m.CargoVolume = mod.CargoVolume; m.CurbWeight = mod.CurbWeight; m.Drive = mod.Drive; m.FrontTrackWidth = mod.FrontTrackWidth; m.Height = mod.Height; m.Length = mod.Length; m.MaxCargoVolume = mod.MaxCargoVolume; m.MaxSpeed = mod.MaxSpeed; m.Name = mod.Name; m.NumberOfDrivenWheels = mod.NumberOfDrivenWheels; m.NumberOfSeats = mod.NumberOfSeats; m.NumberOfWheels = mod.NumberOfWheels; m.TireCarcassTypeId = mod.TireCarcassTypeId; m.TireMountingDiameter = mod.TireMountingDiameter; m.TireProfileHeight = mod.TireProfileHeight; m.TireProfileWidth = mod.TireProfileWidth; m.TotalWeight = mod.TotalWeight; m.TransmissionStages = mod.TransmissionStages; m.TransmissionTypeId = mod.TransmissionTypeId; m.Velocity = mod.Velocity; m.Wheelbase = mod.Wheelbase; m.Width = mod.Width; Data.SaveChanges(); return(ProcessResults.ModificationChanged); }
public ProcessResult AddModification(Modification mod, int ice, int ee) { CarModel model = GetCarModel(mod.ModelId); if (model == null) { return(ProcessResults.NoSuchModel); } if (ice == 0) { mod.InternalCombustionEngineId = null; mod.InternalCombustionEngine = null; } else if (ice == 1) { InternalCombustionEngine i = mod.InternalCombustionEngine; if (i.Location <= 0) { i.Location = null; } if (i.FuelTypeId <= 0) { i.FuelTypeId = null; } if (i.ValvesArrangementId <= 0) { i.ValvesArrangementId = null; } i = Data.InternalCombustionEngines.Add(i); Data.SaveChanges(); mod.InternalCombustionEngineId = i.Id; } if (ee == 0) { mod.ElectricEngine = null; mod.ElectricEngineId = null; } else if (ee == 1) { ElectricEngine e = mod.ElectricEngine; if (e.BatteryTypeId <= 0) { e.BatteryTypeId = null; } e = Data.ElectricEngines.Add(e); Data.SaveChanges(); mod.ElectricEngineId = e.Id; } if (mod.TransmissionTypeId <= 0) { mod.TransmissionTypeId = null; } if (mod.Drive <= 0) { mod.Drive = null; } if (mod.TireCarcassTypeId <= 0) { mod.TireCarcassTypeId = null; } mod = Data.Modifications.Add(mod); Data.SaveChanges(); ProcessResult result = ProcessResults.ModificationAdded; result.AffectedObjectId = mod.Id; return(result); }
static void Main(string[] args) { Dictionary <int, string> enginesID = new Dictionary <int, string> // словарь, содержащий список всех имеющихся типов двигателей { { 1, "1. ДСВ" } }; Dictionary <int, string> testsID = new Dictionary <int, string> // словарь, содержащий список всех имеющихся типов тестовых стендов { { 1, "1. Рассчёт времени перегрева двигателя" } }; double tAmbient; // температура окружающей среды в градусах °C int selectedEngineID; // номер выбранного двигателя int selectedTestID; // номер выбранного теста IEngine engine = null; ITestFactory testStand = null; Console.Write("Введите температуру окружающей среды в градусах °C: "); #region// проверка на корректность ввода температуры while (true) { try { tAmbient = Convert.ToDouble(Console.ReadLine()); break; } catch (FormatException) { Console.Write("Введено некорректное значение! Введите число: "); } } #endregion #region//выбор типа двигателя, проверка на корректность ввода и наличия двигателя в словаре Console.WriteLine("\nВыберите тип двигателя, для проведения тестирования:"); foreach (var eng in enginesID) { Console.WriteLine(eng.Value); } Console.Write("Введите число: "); // проверка на корректность ввода и наличие двигателя в словаре while (true) { try { selectedEngineID = Convert.ToInt32(Console.ReadLine()); foreach (int ind in enginesID.Keys) { if (selectedEngineID == ind) { switch (selectedEngineID) { case 1: engine = new InternalCombustionEngine(tAmbient); break; } } else { throw new Exception("Такого двигателя не существует!"); } } break; } catch (FormatException) { Console.Write("Введено некорректное значение! Введите число целое: "); } catch (Exception) { Console.Write("Такого двигателя не существует! Попробуйте снова: "); } } #endregion #region//выбор типа тестового стенда, проверка на корректность ввода и наличия тестового стенда в словаре Console.WriteLine("\nВыберите тип теста:"); foreach (var eng in testsID) { Console.WriteLine(eng.Value); } Console.Write("Введите число: "); // проверка на корректность ввода и наличие теста в словаре while (true) { try { selectedTestID = Convert.ToInt32(Console.ReadLine()); foreach (int ind in testsID.Keys) { if (selectedTestID == ind) { switch (selectedTestID) { case 1: testStand = new OverheatTimeTest(engine); break; } } else { throw new Exception("Такого теста не существует!"); } } break; } catch (FormatException) { Console.Write("Введено некорректное значение! Введите число целое: "); } catch (Exception) { Console.Write("Такого теста не существует! Попробуйте снова: "); } } #endregion testStand.StartSimulation(); testStand.Controller(); Console.ReadKey(); }