Создать любое событие в классе "обыкновенная дробь" - C#

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

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

Создать любое событие в классе ОБЫКНОВЕННАЯ ДРОБЬ
например, чтоб ноль нельзя было вводить....
например, чтоб ноль нельзя было вводить....

Решение задачи: «Создать любое событие в классе "обыкновенная дробь"»

textual
Листинг программы
namespace Drobi
    
{
    delegate void EventHandler();//объявление делегата
    class drob
    {
        int a;
        public int A
        {
            get
            {
                return a;
            }
            set
            {
                a = value;
            }
        }
        int b;
        public int B
        {
            get
            {
                return b;
            }
            set
            {
                b = value;
            }
        }
        public drob(int a, int b)
        {
            this.a = a;
            this.b = b;
        }
        public override string ToString()
        {
            return "\n" + a.ToString() + "\n" + "--" + "\n" + b.ToString();
        }
        public static drob operator *(drob d1, drob d2)
        {
            return new drob(d1.A * d2.A, d1.B * d2.B);
        }
        public static drob operator /(drob d1, drob d2)
        {
            return new drob(d1.A * d2.B, d2.A * d1.B);
        }
        public static drob operator +(drob d1, drob d2)
        {
            return new drob(d1.a * d2.b + d2.a * d1.b, d1.b * d2.b);
        }
        public static drob operator -(drob d1, drob d2)
        {
            return new drob(d1.a * d2.b - d2.a * d1.b, d1.b * d2.b);
        }
        public drob obratnaya()
        {
            return new drob(this.b, this.a);
        }
        //объявление события на основе делегата
        public event EventHandler f;
        //объявление метода, в котором вызывается событие
        public void func(int a, int b)
        {
            if (A == 0 || B == 0)    //условие для того, чтобы выводить сообщение при нулевом значении
            {
                f();
            }
        }
  }
}
 
namespace Drobi
{
    class Program
    {
        private static void ob()// создаём обработчик для события
        {
            Console.WriteLine("Значение дроби не может равняться нулю");
            Console.Clear();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Введите числитель1 ");
            int a = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("Введите знаменатель1 ");
            int a1 = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("Введите числитель2 ");
            int b = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("Введите знаменатель2 ");
            int b1 = Convert.ToInt16(Console.ReadLine());
 
            drob d1 = new drob(a, a1);
            drob d2 = new drob(b, b1);
            //добавляем обработчика события (для первой дроби)
            d1.f += new EventHandler(ob);
            d1.func(a,a1);//метод, в котором вызывается событие (для первой дроби)
            d2.f += new EventHandler(ob);  //добавляем обработчика события(для второй дроби)
            d2.func(b, b1);//метод, в котором вызывается событие (для второй дроби)
          
                drob m = d1 * d2;
                drob q = d1 / d2;
                drob w = d1 + d2;
                drob z = d1 - d2;
                drob p1 = d1.obratnaya();
                drob p2 = d2.obratnaya();
                Console.WriteLine("умножение=" + m.ToString());
                Console.WriteLine("деление=" + q.ToString());
                Console.WriteLine("сложение=" + w.ToString());
                Console.WriteLine("вычитание=" + z.ToString());
                Console.WriteLine("обратная дробь=" + p1.ToString() + " " + p2.ToString());
 
                Console.ReadLine();
            
        }
    }
}

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


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

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

10   голосов , оценка 3.9 из 5
Похожие ответы