Описать класс "Квадратное уравнение" с перегрузкой конструкторов - C#

Узнай цену своей работы

Формулировка задачи:

Задание: Описать класс “Квадратное уравнение”, методами которого представить перегрузку конструкторов. В основной программе продемонстрируйте работу с перегруженными конструкторами. Вопрос: Если я в основной программе буду вызывать экземпляр класса не с тремя параметрами, а с двумя или одним, то и метод Run должен считать по другому и ToString выводить другое, ведь уравнение перестанет быть квадратным. Помогите привести решение в соответствие с заданием. Как их перегрузить?
namespace квадрат_ур
{
    class Equation
    {
        private double a, b, c;
        private double x1, x2;
        private bool f;
        public Equation(double a, double b, double c)
        {
            this.a = a;
            this.b = b;
            this.c = c;
            Run();         
        }
        public Equation(double b, double c)
        {
            this.a = 0;
            this.b = b;
            this.c = c;
            Run();       
        }
        public Equation(double c)
        {
            this.a = 0;
            this.b = 0;
            this.c = c;
            Run();         
        }
        public void Run()
        {
            double d = b * b - 4 * a * c;
            f = (d >= 0);
            x1 = (-1 * b + Math.Sqrt(d)) / (2 * a);
            x2 = (-1 * b - Math.Sqrt(d)) / (2 * a);
        }
        public override string ToString()
        {
            return "Корни квадратного уравнения " + (f ? "x1=" + x1 + "; x2=" + x2 + ";" : "не действительные");
        }
 
    }
    class Program
    {
        static void Main(string[] args)
        {
            Equation l = new Equation(1, 1, -6);
            Console.WriteLine(l.ToString());
            Equation ll = new Equation(10, 1, 10);
            Console.WriteLine(ll.ToString());
            Console.ReadLine();
        }
    }
}

Решение задачи: «Описать класс "Квадратное уравнение" с перегрузкой конструкторов»

textual
Листинг программы
namespace квадрат_ур
{
    class Equation
    {
        private double a, b, c;
        private double x1, x2;
        private bool f;
        public Equation(double a, double b, double c)
        {
            this.a = a;
            this.b = b;
            this.c = c;      
        }
        public Equation(double a, double b)
        {
            this.a = a;
            this.b = b;
            this.c = 0;  
        }
        public Equation(double a)
        {
            this.a = a;
            this.b = 0;
            this.c = 0;
        }
        public void Run()
        {
            double d = b * b - 4 * a * c;
            f = (d >= 0);
            x1 = (-1 * b + Math.Sqrt(d)) / (2 * a);
            x2 = (-1 * b - Math.Sqrt(d)) / (2 * a);
            Console.WriteLine("Корни квадратного уравнения " + (f ? "x1=" + x1 + "; x2=" + x2 + ";" : "не действительные"));
            return;
        }      
 
    }
    class Program
    {
        static void Main(string[] args)
        {
            Equation l = new Equation(1, 1, -6);
            l.Run();
            Equation ll = new Equation(10, 1, 10);
            ll.Run();
            Equation k = new Equation(1, -4);
            k.Run();
            Equation kk = new Equation(1);
            kk.Run();
            Console.ReadLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы