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