Найти ошибки в коде калькулятора, использующего интерфейс - C#
Формулировка задачи:
Помогите, пожалуйста. В общем-то, практически все реализовано
Не совсем понимаю почему выдает <Ни одна из перегрузок метода "Sqrt" и "Sqr" не принимает "0" аргументов>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public interface iArOp
{
double Sum();
double Otr();
double Prz();
double Del();
}
public interface iSqrSqrt
{
double Sqr(double x);
double Sqrt(double x);
}
class ArCalc : iArOp
{
double My_x, My_y;
public double x
{
set { My_x = value; }
get { return My_x; }
}
public double y
{
set { My_y = value; }
get { return My_y; }
}
public ArCalc(double x, double y)
{
this.x = x;
this.y = y;
}
// Реализуем методы интерфейса
public virtual double Sum()
{
return x + y;
}
public double Otr()
{
return x - y;
}
public double Prz()
{
return x * y;
}
public double Del()
{
return x / y;
}
class Abs: iSqrSqrt
{
double My_x;
public double x
{
set { My_x = value; }
get { return My_x; }
}
public Abs(double x)
{
this.x = x;
}
public double Sqr(double x)
{
return x * x;
}
public double Sqrt(double x)
{
return Math.Sqrt(x);
}
}
class Program
{
static void Main()
{
Console.WriteLine("Программа-калькулятор. Выберите действие:");
Console.WriteLine("1) арифметика - +, -, /, *");
Console.WriteLine("2) v- (корень), ^ (квадрат)");
l1start:
switch (Console.ReadLine())
{
case "1":
Console.Write("Введите 1-ый член: ");
double a = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите 2-ой член: ");
double b = Convert.ToDouble(Console.ReadLine());
ArCalc obj1 = new ArCalc(x: a, y: b);
Console.Write("Выберите ар. действие: ");
switch (Console.ReadLine())
{
case "+":
Console.WriteLine("{0} + {1} = {2}", obj1.x, obj1.y, obj1.Sum());
break;
case "-":
Console.WriteLine("{0} - {1} = {2}", obj1.x, obj1.y, obj1.Otr());
break;
case "/":
Console.WriteLine("{0} / {1} = {2}", obj1.x, obj1.y, obj1.Del());
break;
case "*":
Console.WriteLine("{0} * {1} = {2}", obj1.x, obj1.y, obj1.Prz());
break;
}
break;
case "2":
Console.Write("Введите число: ");
double c = Convert.ToDouble(Console.ReadLine());
Abs obj2 = new Abs(x: c);
Console.Write("Выберите ар. действие: ");
switch (Console.ReadLine())
{
case "v-":
Console.WriteLine("Квадрат {0} = {1}", obj2.x, obj2.Sqr());
break;
case "^":
Console.WriteLine("Корень из {0} = {1}", obj2.x, obj2.Sqrt());
break;
}
break;
}
Console.Write("Ваши действия: 0 - выход, 1 - повторить расчет: ");
switch(Console.ReadLine())
{
case "0":
break;
case "1":
goto l1start;
break;
}
}
}
}
}Решение задачи: «Найти ошибки в коде калькулятора, использующего интерфейс»
textual
Листинг программы
double Sqr(double x); double Sqrt(double x);