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