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)); }
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"); } }
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; } } }