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

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

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

Задание: Описать класс “Квадратное уравнение”, методами которого представить перегрузку конструкторов. В основной программе продемонстрируйте работу с перегруженными конструкторами. Вопрос: Если я в основной программе буду вызывать экземпляр класса не с тремя параметрами, а с двумя или одним, то и метод Run должен считать по другому и ToString выводить другое, ведь уравнение перестанет быть квадратным. Помогите привести решение в соответствие с заданием. Как их перегрузить?
Листинг программы
  1. namespace квадрат_ур
  2. {
  3. class Equation
  4. {
  5. private double a, b, c;
  6. private double x1, x2;
  7. private bool f;
  8. public Equation(double a, double b, double c)
  9. {
  10. this.a = a;
  11. this.b = b;
  12. this.c = c;
  13. Run();
  14. }
  15. public Equation(double b, double c)
  16. {
  17. this.a = 0;
  18. this.b = b;
  19. this.c = c;
  20. Run();
  21. }
  22. public Equation(double c)
  23. {
  24. this.a = 0;
  25. this.b = 0;
  26. this.c = c;
  27. Run();
  28. }
  29. public void Run()
  30. {
  31. double d = b * b - 4 * a * c;
  32. f = (d >= 0);
  33. x1 = (-1 * b + Math.Sqrt(d)) / (2 * a);
  34. x2 = (-1 * b - Math.Sqrt(d)) / (2 * a);
  35. }
  36. public override string ToString()
  37. {
  38. return "Корни квадратного уравнения " + (f ? "x1=" + x1 + "; x2=" + x2 + ";" : "не действительные");
  39. }
  40. }
  41. class Program
  42. {
  43. static void Main(string[] args)
  44. {
  45. Equation l = new Equation(1, 1, -6);
  46. Console.WriteLine(l.ToString());
  47. Equation ll = new Equation(10, 1, 10);
  48. Console.WriteLine(ll.ToString());
  49. Console.ReadLine();
  50. }
  51. }
  52. }

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

textual
Листинг программы
  1. namespace квадрат_ур
  2. {
  3.     class Equation
  4.     {
  5.         private double a, b, c;
  6.         private double x1, x2;
  7.         private bool f;
  8.         public Equation(double a, double b, double c)
  9.         {
  10.             this.a = a;
  11.             this.b = b;
  12.             this.c = c;      
  13.         }
  14.         public Equation(double a, double b)
  15.         {
  16.             this.a = a;
  17.             this.b = b;
  18.             this.c = 0;  
  19.         }
  20.         public Equation(double a)
  21.         {
  22.             this.a = a;
  23.             this.b = 0;
  24.             this.c = 0;
  25.         }
  26.         public void Run()
  27.         {
  28.             double d = b * b - 4 * a * c;
  29.             f = (d >= 0);
  30.             x1 = (-1 * b + Math.Sqrt(d)) / (2 * a);
  31.             x2 = (-1 * b - Math.Sqrt(d)) / (2 * a);
  32.             Console.WriteLine("Корни квадратного уравнения " + (f ? "x1=" + x1 + "; x2=" + x2 + ";" : "не действительные"));
  33.             return;
  34.         }      
  35.  
  36.     }
  37.     class Program
  38.     {
  39.         static void Main(string[] args)
  40.         {
  41.             Equation l = new Equation(1, 1, -6);
  42.             l.Run();
  43.             Equation ll = new Equation(10, 1, 10);
  44.             ll.Run();
  45.             Equation k = new Equation(1, -4);
  46.             k.Run();
  47.             Equation kk = new Equation(1);
  48.             kk.Run();
  49.             Console.ReadLine();
  50.         }
  51.     }
  52. }

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


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

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

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы