static private void CalcMk(Monolit m) { double deltaE; double deltaKM; double[] useArray; // Массив который будет использоваться в зависимости от типа грунта double result; switch (m.gruntName) { case GruntName.Supec: useArray = mkForSupec; break; case GruntName.Suglinok: useArray = mkForSuglinok; break; case GruntName.Glina: useArray = mkForGlina; break; default: useArray = mkForSupec; break; } for (int i = 0; i < eForMk.Length; i++) { deltaE = Math.Round(m.E - eForMk[i], 3); if (deltaE > 0 && deltaE < 0.1) { deltaKM = useArray[i] - useArray[i + 1]; result = useArray[i] - ((deltaKM * deltaE) / 0.1); m.KM = Math.Round(result, 3); break; } else if (deltaE == 0) { m.KM = useArray[i]; break; } else if (i == 0 && deltaE < 0) { m.KM = useArray[i]; } else if (i == eForMk.Length - 1 && deltaE > 0.1) { m.KM = useArray[i]; } } }
// Метод для заполнения полей монолита static Monolit CreateMonolit() { mon = new Monolit(); double res; Console.WriteLine("Введите номер скважины"); mon.MineName = Console.ReadLine(); Console.WriteLine(); Label_E: Console.WriteLine("Введите коэффициент пористости"); if (Double.TryParse(Console.ReadLine(), out res)) { mon.E = res; Console.WriteLine(); } else { Console.WriteLine("Некорректный ввовд! Повторите еще раз"); goto Label_E; } Label_LabNat: Console.WriteLine("Введите лабораторный модуль в естественном состоянии"); if (Double.TryParse(Console.ReadLine(), out res)) { mon.LabModulNature = res; Console.WriteLine(); } else { Console.WriteLine("Некорректный ввовд! Повторите еще раз"); goto Label_LabNat; } Label_LabWat: Console.WriteLine("Введите лабораторный модуль в водонасыщеном состоянии"); if (Double.TryParse(Console.ReadLine(), out res)) { mon.LabModuleWarter = res; Console.WriteLine(); } else { Console.WriteLine("Некорректный ввовд! Повторите еще раз"); goto Label_LabWat; } Console.WriteLine(); return(mon); }
static private void CalcModul(Monolit m) { m.LabModulNature_kM = Math.Round(m.KM * m.LabModulNature, 1); m.LabModulWarter_kM = Math.Round(m.KM * m.LabModuleWarter, 1); }