Описать класс "Квадратное уравнение" с перегрузкой конструкторов - 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д