Практикум по курсу "Объектно-ориентированное программирование" на языке C#. Андрианова А.А - 65 стр.

UptoLike

64
choice = int.Parse(Console.ReadLine());
if(choice >= 1 && choice <= 4)
break;
}
// создание объекта функции левой части ограничения
// в зависимости от введенного типа
switch(choice)
{
case 1:
function = new Line();
break;
case 2:
function = new Ellipse();
break;
case 3:
function = new Hyperbola();
break;
case 4:
function = new Parabola();
break;
}
// ввод параметров создаваемой функции
function.Input();
// ввод вида ограничения
while(true)
{
Console.WriteLine("<= - 0, >= - 1, = - 2,
< - 3, > - 4, <> - 5");
choice = int.Parse(Console.ReadLine());
if(choice >= 0 && choice <= 5)
break;
}
type = (TypeInequation) choice;
// ввод правой части
Console.WriteLine("Правая часть");
b = double.Parse(Console.ReadLine());
}
// операция получения строкового представления ограничения
static public implicit operator string(Constraint ob)
{
// получения строкового представления функции
// из левой части ограничения
string res = ob.function.Output();
// вывод в строку знака вида ограничения
switch(ob.type)
{
case TypeInequation.le:
res = res + "<=";
break;
case TypeInequation.ge:
       choice = int.Parse(Console.ReadLine());
       if(choice >= 1 && choice <= 4)
          break;
    }
    // создание объекта функции левой части ограничения
    // в зависимости от введенного типа
    switch(choice)
    {
        case 1:
             function = new Line();
             break;
        case 2:
             function = new Ellipse();
             break;
        case 3:
             function = new Hyperbola();
             break;
        case 4:
             function = new Parabola();
             break;
    }
    // ввод параметров создаваемой функции
    function.Input();
    // ввод вида ограничения
    while(true)
    {
        Console.WriteLine("<= - 0, >= - 1, = - 2,
                                        < - 3, > - 4, <> - 5");
         choice = int.Parse(Console.ReadLine());
         if(choice >= 0 && choice <= 5)
            break;
      }
      type = (TypeInequation) choice;
      // ввод правой части
      Console.WriteLine("Правая часть");
      b = double.Parse(Console.ReadLine());
}

// операция получения строкового представления ограничения
static public implicit operator string(Constraint ob)
{
   // получения строкового представления функции
    // из левой части ограничения
   string res = ob.function.Output();
   // вывод в строку знака вида ограничения
   switch(ob.type)
   {
       case TypeInequation.le:
              res = res + "<=";
              break;
       case TypeInequation.ge:

                                                                  64