public ActionResult Index(QEModel qEModel)
        {
            ViewBag.Message = string.Empty;
            ViewBag.Result  = string.Empty;
            ViewBag.LinMult = string.Empty;
            ViewBag.Error   = 0;
            if (qEModel.A == 0)
            {
                ViewBag.Error    = 1;
                ViewBag.Message += "Первый коэффициент не должен равняться 0.Повторите ввод.";
            }
            else if (qEModel.B == 0 && qEModel.C == 0)
            {
                ViewBag.Error    = 1;
                ViewBag.Message += "Уровнение не имеет смысла второй и третий коэффициент равны 0. Повторите ввод.";
            }
            else
            {
                qEModel.D        = QETools.GetDiscriminant(qEModel.A, qEModel.B, qEModel.C);
                ViewBag.Message += QETools.QEToString(qEModel.A, qEModel.B, qEModel.C) + "0";
                if (qEModel.D < 0)
                {
                    ViewBag.Result += String.Format("Квадратное уровнение не имеет корней. D={0} (D<0)", qEModel.D);
                }
                else if (qEModel.D == 0)
                {
                    qEModel.x1      = qEModel.x2 = QETools.GetX1(qEModel.D, qEModel.B, qEModel.A);
                    ViewBag.Result += String.Format("Уровнение имеет два равных корня x1=x2={0}", qEModel.x1);
                }
                else if (qEModel.D > 0)
                {
                    qEModel.x1      = QETools.GetX1(qEModel.D, qEModel.B, qEModel.A);
                    qEModel.x2      = QETools.GetX2(qEModel.D, qEModel.B, qEModel.A);
                    ViewBag.Result += String.Format("Уровнение имеет два корня x1={0}, x2={1}", qEModel.x1, qEModel.x2);
                }
                if (qEModel.D >= 0)
                {
                    ViewBag.LinMult += QETools.LinMult(qEModel.A, qEModel.B, qEModel.C, qEModel.x1, qEModel.x2);
                }
            }



            return(View(qEModel));
        }
Beispiel #2
0
 private void ThinkEquation()
 {
     richTextBox1.AppendText(QETools.QEToString(a, b, c) + "0\n");
     D = QETools.GetDiscriminant(a, b, c);
     if (D < 0)
     {
         richTextBox1.AppendText(string.Format("Квадратное уровнение не имеет корней. D={0} (D<0) \n", D));
     }
     else if (D == 0)
     {
         x1 = x2 = QETools.GetX1(D, b, a);
         richTextBox1.AppendText(string.Format("Уровнение имеет два равных корня x1=x2={0}\n", x1));
     }
     else if (D > 0)
     {
         x1 = QETools.GetX1(D, b, a);
         x2 = QETools.GetX2(D, b, a);
         richTextBox1.AppendText(string.Format("Уровнение имеет два корня x1={0}, x2={1}\n", x1, x2));
     }
     if (D >= 0)
     {
         richTextBox1.AppendText(QETools.LinMult(a, b, c, x1, x2) + "\n");
     }
 }
Beispiel #3
0
        static void Main(string[] args)
        {
            double a;
            double b;
            double c;
            double D;
            double x1;
            double x2;

            for (; ;)
            {
                x1 = 0;
                x2 = 0;

                Console.OutputEncoding = System.Text.Encoding.UTF8;
                Console.WriteLine("ax²+bx+c=0");

                a = GetValueFromUser("a");
                b = GetValueFromUser("b");
                c = GetValueFromUser("c");
                if (b != 0 && c != 0)
                {
                    D = QETools.GetDiscriminant(a, b, c);
                    Console.WriteLine(QETools.QEToString(a, b, c) + "0");
                    if (D < 0)
                    {
                        Console.WriteLine("Квадратное уровнение не имеет корней. D={0} (D<0)", D);
                    }
                    else if (D == 0)
                    {
                        x1 = x2 = QETools.GetX1(D, b, a);
                        Console.WriteLine("Уровнение имеет два равных корня x1=x2={0}", x1);
                    }
                    else if (D > 0)
                    {
                        x1 = QETools.GetX1(D, b, a);
                        x2 = QETools.GetX2(D, b, a);
                        Console.WriteLine("Уровнение имеет два корня x1={0}, x2={1}", x1, x2);
                    }
                    if (D >= 0)
                    {
                        Console.WriteLine(QETools.LinMult(a, b, c, x1, x2));
                    }
                }
                else
                {
                    Console.WriteLine("Уровнение не имеет смысла b=0,c=0");
                }
                Console.Write("Решить ещё уровнение (y):");
                string nextRun = Console.ReadLine();
                if (nextRun == "y" || nextRun == "Y")
                {
                    Console.Clear();
                }
                else
                {
                    Console.WriteLine();
                    break;
                }
            }
        }