예제 #1
0
        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];
                }
            }
        }
예제 #2
0
        //  Метод для заполнения полей монолита
        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);
        }
예제 #3
0
 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);
 }