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; }
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(); }