예제 #1
0
 static void SetFraction(Class.Fraction fraction, int num)
 {
     ConsoleUtils.Print($"Задаем {num}-ое дробное число число", ConsoleColor.DarkYellow);
     fraction.Numerator   = ConsoleUtils.ReadInt($"Введите числитель {num}-го числа:");
     fraction.Denominator = ConsoleUtils.ReadInt($"Введите знаменатель {num}-го числа:");
     ConsoleUtils.Print($"Задано {num}-ое дробное число: {fraction.ToString()}");
     Console.ForegroundColor = ConsoleColor.White;
 }
예제 #2
0
        static void Task5()
        {
            /*
             * Описать класс дробей — рациональных чисел, являющихся отношением двух целых чисел.
             * Предусмотреть методы сложения, вычитания, умножения и деления дробей. Написать
             * программу, демонстрирующую все разработанные элементы класса.
             * - Добавить свойства типа int для доступа к числителю и знаменателю;
             * - Добавить свойство типа double только на чтение, чтобы получить десятичную дробь числа;
             * - Добавить проверку, чтобы знаменатель не равнялся 0. Выбрасывать исключение ArgumentException("Знаменатель не может быть равен 0");
             * - Добавить упрощение дробей*/


            ConsoleUtils.HomeworkTask(3, @"Описать класс дробей — рациональных чисел, являющихся отношением двух целых чисел.
            Предусмотреть методы сложения, вычитания, умножения и деления дробей.Написать
            программу, демонстрирующую все разработанные элементы класса.
            - Добавить свойства типа int для доступа к числителю и знаменателю;
            - Добавить свойство типа double только на чтение, чтобы получить десятичную дробь числа;
            - Добавить проверку, чтобы знаменатель не равнялся 0.Выбрасывать исключение ArgumentException(\""Знаменатель не может быть равен \"");
            - Добавить упрощение дробей");

            Class.Fraction fraction1 = new Class.Fraction();
            SetFraction(fraction1, 1);

            Class.Fraction fraction2 = new Class.Fraction();
            SetFraction(fraction2, 2);

            Class.Fraction result;

            int answer = 0;

            do
            {
                ConsoleUtils.Print("", ConsoleColor.White);

                answer = ConsoleUtils.ReadInt("Выберите операцию: \n\r1 - сложить, 2 - разница, 3 - умножение, 4 - деление, 5 - упрощение, 6 - десятичная дробь, 0 - завершить");

                switch (answer)
                {
                case 0: break;

                case 1:
                    result = fraction1.Plus(fraction2);
                    ConsoleUtils.Print($"{fraction1.ToString()} + {fraction2.ToString()} = " + result.ToString(), ConsoleColor.Red);
                    break;

                case 2:
                    result = fraction1.Minus(fraction2);
                    ConsoleUtils.Print($"{fraction1.ToString()} - {fraction2.ToString()} = " + result.ToString(), ConsoleColor.Green);
                    break;

                case 3:
                    result = fraction1.Multi(fraction2);
                    ConsoleUtils.Print($"{fraction1.ToString()} * {fraction2.ToString()} = " + result.ToString(), ConsoleColor.DarkGreen);
                    break;

                case 4:
                    result = fraction1.Divide(fraction2);
                    ConsoleUtils.Print($"{fraction1.ToString()} * {fraction2.ToString()} = " + result.ToString(), ConsoleColor.DarkRed);
                    break;

                case 5:
                    result = fraction1.Reduction();
                    ConsoleUtils.Print($"{fraction1.ToString()} = " + result.ToString(), ConsoleColor.Red);
                    result = fraction2.Reduction();
                    ConsoleUtils.Print($"{fraction2.ToString()} = " + result.ToString(), ConsoleColor.Red);
                    break;

                case 6:
                    ConsoleUtils.Print($"{fraction1.ToString()} = " + fraction1.Point.ToString("f4"), ConsoleColor.DarkGray);
                    ConsoleUtils.Print($"{fraction2.ToString()} = " + fraction2.Point.ToString("f4"), ConsoleColor.DarkGray);
                    break;

                default:
                    ConsoleUtils.Print("Такой операции нет", ConsoleColor.DarkMagenta);
                    break;
                }
            }while (answer != 0);

            ConsoleUtils.WaitNextPress();
        }