public static string Percent(string A, string B)
        {
            RimNumber rim1 = new RimNumber(A);
            RimNumber rim2 = new RimNumber(B);

            return(rim1 % rim2);
        }
        public static string Divide(string A, string B)
        {
            RimNumber rim1 = new RimNumber(A);
            RimNumber rim2 = new RimNumber(B);

            return(rim1 / rim2);
        }
        public static string Multiply(string A, string B)
        {
            RimNumber rim1 = new RimNumber(A);
            RimNumber rim2 = new RimNumber(B);

            return(rim1 * rim2);
        }
        public static string Minus(string A, string B)
        {
            RimNumber rim1 = new RimNumber(A);
            RimNumber rim2 = new RimNumber(B);

            return(rim1 - rim2);
        }
Esempio n. 5
0
 private void button_ravno_Click(object sender, EventArgs e)
 {
     if (operation == true)
     {
         if (textBox_vvod.Text != "" && textBox_vvod.Text != null)
         {
             _rim2             = textBox_vvod.Text;
             operation         = false;
             textBox_vvod.Text = null;
             if (_znak == "+")
             {
                 label_result.Text = Calc.Plus(_rim1, _rim2);
             }
             if (_znak == "-")
             {
                 RimNumber c = new RimNumber(_rim1);
                 RimNumber d = new RimNumber(_rim2);
                 if (c.ArabN < d.ArabN)
                 {
                     MessageBox.Show("Результат отрицательный", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
                 else
                 {
                     label_result.Text = Calc.Minus(_rim1, _rim2);
                 }
             }
             if (_znak == "*")
             {
                 RimNumber c = new RimNumber(_rim1);
                 RimNumber d = new RimNumber(_rim2);
                 if (c.ArabN * d.ArabN > 3999)
                 {
                     MessageBox.Show("Результат превышает максимальное римское число", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
                 else
                 {
                     label_result.Text = Calc.Multiply(_rim1, _rim2);
                 }
             }
             if (_znak == "/")
             {
                 label_result.Text = Calc.Divide(_rim1, _rim2);
             }
             if (_znak == "%")
             {
                 label_result.Text = Calc.Percent(_rim1, _rim2);
             }
         }
         _znak = null;
     }
     else
     {
         MessageBox.Show("Некорректная операция", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        public static string ChangeArabToRim(int arab)
        {
            RimNumber A = new RimNumber(arab);

            return(A.RimN);
        }
        public static int ChangeRimToArab(string rim)
        {
            RimNumber A = new RimNumber(rim);

            return(A.ArabN);
        }
        public static string operator %(RimNumber A, RimNumber B)//mod
        {
            RimNumber C = new RimNumber(A.ArabN % B.ArabN);

            return(C.RimN);
        }
        public static string operator /(RimNumber A, RimNumber B)//div
        {
            RimNumber C = new RimNumber(A.ArabN / B.ArabN);

            return(C.RimN);
        }
        public static string operator *(RimNumber A, RimNumber B)
        {
            RimNumber C = new RimNumber(A.ArabN * B.ArabN);

            return(C.RimN);
        }
 public static string ArabToRim(int arab)
 {
     return(RimNumber.ChangeArabToRim(arab));
 }
 public static int RimToArab(string rim)
 {
     return(RimNumber.ChangeRimToArab(rim));
 }