Пример #1
0
        //Реализация метода интерфейса IComparable
        public int CompareTo(object o)
        {
            RationalNums a     = o as RationalNums;
            int          denom = nok(this.denominator, a.denominator);

            this.numerator *= denom / this.denominator;
            a.numerator    *= denom / a.denominator;
            if (a != null)
            {
                if (this.numerator > a.numerator)
                {
                    return(1);
                }
                if (this.numerator < a.denominator)
                {
                    return(-1);
                }
                else
                {
                    return(0);
                }
            }
            else
            {
                Console.WriteLine("Can't compare two objects");
                return(-2);
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Enter first number (in format a / b or a,bc...):");
            string       input = Console.ReadLine();
            RationalNums a1    = new RationalNums(input);

            Console.WriteLine("Enter second number, formats are same:");
            string       input2 = Console.ReadLine();
            RationalNums a2     = new RationalNums(input2);
            RationalNums res;

            Console.WriteLine("Enter type of delimeter you want to use");
            RationalNums.delimeter = Console.ReadLine();

            res = a1 * a2;
            Console.WriteLine($"{res.numerator}{RationalNums.delimeter}{res.denominator}");
            res = a1 / a2;
            Console.WriteLine($"{res.numerator}{RationalNums.delimeter}{res.denominator}");
            res = a1 + a2;
            Console.WriteLine($"{res.numerator}{RationalNums.delimeter}{res.denominator}");
            res = a1 - a2;
            Console.WriteLine($"{res.numerator}{RationalNums.delimeter}{res.denominator}");
            if (a1 == a2)
            {
                Console.WriteLine("Numbers are equal");
            }
            else
            {
                Console.WriteLine("Numbers are not equal");
            }

            RationalNums a3 = new RationalNums(1, 4);
            double       x  = (double)a3;

            Console.WriteLine($"Explisit conversion: {x}");

            x *= 2;
            a3 = Convert.ToString(x);
            Console.WriteLine($"Implicit conversion: {a3.numerator} / {a3.denominator}");
        }