Программа с использованием класса Calculate, в котором реализованы арифметические операции над числами - C#
Формулировка задачи:
В ближайшее время мне нужно создать программу. Сам я не справлюсь, помогите пожалуйста.
Задача звучит так:
Составьте программу на языке С#, которая должна содержать:
- интерфейс;
- класс в соответствии с вариантом;
- добавьте в класс метод, не являющийся частью интерфейса;
- не менее двух объектов класса с вызовом для них соответствующих методов.
-----
Разработайте программу с использованием класса Calculate, в котором реализованы арифметические операции над двумя числами: сложение, вычитание, умножение, деление. Класс должен содержать конструктор по умолчанию и конструктор инициализации.
-----
Со вторым заданием я справился, а вот сильно запутался с интерфейсами и прочим. Вот код созданной программы:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication23
{
class Program
{
static void Main()
{
Console.WriteLine("Введите число а: ");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите число b:");
int b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Выберите метод счисления: ");
Console.WriteLine("1. Сложение");
Console.WriteLine("2. Вычитание");
Console.WriteLine("3. Умножение");
Console.WriteLine("4. Деление");
Console.WriteLine("5. Нахождение среднего арифметического числа");
Console.WriteLine("6. Возведение суммы в квадрат");
int n = Convert.ToInt32(Console.ReadLine());
if (n == 1)
Console.WriteLine("Вы ввели сложение");
int s = (a + b);
Console.WriteLine("Сумма чисел равна :" + s);
Console.WriteLine("Чтобы показать другие результаты, нажмите Enter");
Console.ReadLine();
if (n == 2)
Console.WriteLine("Вы ввели вычитание");
int v = (a - b);
Console.WriteLine("Вычетание чисел равно: " + v);
Console.WriteLine("Чтобы показать другие результаты, нажмите Enter");
Console.ReadLine();
if (n == 3)
Console.WriteLine("Вы ввели умножение");
int u = (a * b);
Console.WriteLine("Умножение чисел равно: " + u);
Console.WriteLine("Чтобы показать другие результаты, нажмите Enter");
Console.ReadLine();
if (n == 4)
Console.WriteLine("Вы ввели деление");
int d = (a / b);
Console.WriteLine("Деление чисел равно: " + d);
Console.WriteLine("Чтобы показать другие результаты, нажмите Enter");
Console.ReadLine();
if (n == 5)
Console.WriteLine("Вы ввели нахождение среднего арифметического числа");
int arifm = ((a + b)/2);
Console.WriteLine("Нахождение среднего арифметического числа равно: " + arifm);
Console.WriteLine("Чтобы показать другие результаты, нажмите Enter");
Console.ReadLine();
if (n == 6)
Console.WriteLine("Вы ввели возведение суммы в квадрат");
int cvad = ((a + b)*2);
Console.WriteLine("Возведение суммы в квадрат равно: " + cvad);
Console.WriteLine("Чтобы закрыть программу, нажмите Enter");
Console.ReadLine();
}
}
}Решение задачи: «Программа с использованием класса Calculate, в котором реализованы арифметические операции над числами»
textual
Листинг программы
using System;
interface ICalculate
{
int Add();
int Sub();
int Mul();
double Div();
}
class Calculate : ICalculate
{
private int a;
private int b;
public Calculate()
{
a = 0; // не обязательно
b = 0; // не обязательно
}
public Calculate(int a, int b)
{
this.a = a;
this.b = b;
}
public int Add()
{ return a + b; }
public int Sub()
{ return a - b; }
public int Mul()
{ return a * b; }
public double Div()
{ return b == 0 ? 0 : (double)a / b; }
// Метод, не являющийся частью интерфейса
public int Pow()
{ return (int)Math.Pow(a, b); }
public int getA()
{ return a; }
public int getB()
{ return b; }
}
class A
{
static void Main()
{
Calculate obj1 = new Calculate(1, 2);
Calculate obj2 = new Calculate(8, 5);
Console.WriteLine("{0} + {1} = {2}", obj1.getA(), obj1.getB(), obj1.Add());
Console.WriteLine("{0} - {1} = {2}", obj1.getA(), obj1.getB(), obj1.Sub());
Console.WriteLine("{0} * {1} = {2}", obj2.getA(), obj2.getB(), obj2.Mul());
Console.WriteLine("{0} / {1} = {2}", obj2.getA(), obj2.getB(), obj2.Div());
Console.ReadKey(true);
}
}