Этот код ниже захватывает 3 ввода с консоли, а затем анализирует числа, после чего отправляется методу getRealRoots
. который находит, имеет ли он 2, 1 или нет корней. Выходные параметры в getrealroots показывают следующую ошибку:
Выходной параметр 'r1' должен быть назначен до того, как управление покинет текущий метод
Выходной параметр 'r2' должен быть назначенным до того, как управление покинет текущий метод
using System;
namespace Quadratic
{
public class Program
{
static public void Main(string[] args)
{
Console.WriteLine("Enter three numbers, (A,B,C)");
Double? a = GetDouble();
Double? b = GetDouble();
Double? c = GetDouble();
getRealRoots(a, b, c,out r1,out r2);
//throw new NotImplementedException("implement main");
}
static public int getRealRoots(double A, double B, double C, out double? r1, out double? r2)
{
double discriminant = B * B - 4 * A * C;
if (discriminant > 0)
{
r1 = (-B + Math.Sqrt(discriminant)) / (2 * A);
r2 = (-B - Math.Sqrt(discriminant)) / (2 * A);
Console.WriteLine("The equation " + GetQuadraticString(A, B, C) + " has two real roots:" + r1 + " " + r2);
}
else if (discriminant == 0)
{
r1 = -B / (2 * A);
Console.WriteLine("The equation " + GetQuadraticString(A, B, C) + " has one real root:" + r1);
}
else
{
Console.WriteLine("The equation " + GetQuadraticString(A, B, C) + " has no real roots:");
}
}
//throw new NotImplementedException("write a method that uses out variables to return the real discriminants of a quadratic");
}
}