コード例 #1
0
ファイル: Program.cs プロジェクト: pmmson/csharp
        static void Main(string[] args)
        {
            Console.WriteLine("Обыкновенные Дроби");
            try
            {
                int a, b, c, d;

                Console.Write("Введите числитель первой дроби: ");
                a = Convert.ToInt32(Console.ReadLine());
                Console.Write("Введите знаменатель первой дроби: ");
                b = Convert.ToInt32(Console.ReadLine());
                Fractions a1       = new Fractions(a, b);
                string    a1String = Fractions.ToString(a1);

                Console.Write("Введите числитель второй дроби: ");
                c = Convert.ToInt32(Console.ReadLine());
                Console.Write("Введите знаменатель второй дроби: ");
                d = Convert.ToInt32(Console.ReadLine());
                Fractions a2       = new Fractions(c, d);
                string    a2String = Fractions.ToString(a2);

                Fractions add         = Fractions.AddFractions(a1, a2);
                string    addString   = Fractions.ToString(add);
                Fractions sub         = Fractions.SubFractions(a1, a2);
                string    subString   = Fractions.ToString(sub);
                Fractions multi       = Fractions.MultiFractions(a1, a2);
                string    multiString = Fractions.ToString(multi);
                Fractions div         = Fractions.DivFractions(a1, a2);
                string    divString   = Fractions.ToString(div);

                Console.WriteLine("\n1. Арифметические методы работы с дробями");
                Console.WriteLine($"Cложение:\t{a1String}+{a2String}={addString}");
                Console.WriteLine($"Вычитание:\t{a1String}-{a2String}={subString}");
                Console.WriteLine($"Умножение:\t{a1String}*{a2String}={multiString}");
                Console.WriteLine($"Деление:\t{a1String}:{a2String}={divString}");
                Enter();

                Console.WriteLine("2. Демонстрация доступа к числителю и знаменателю");
                Fractions a3 = new Fractions(a1.P, a1.Q);
                Console.WriteLine($"до изменения:\t {Fractions.ToString(a3)}");
                Console.Write("Введите числитель новой дроби: ");
                a3.P = Convert.ToInt32(Console.ReadLine());
                Console.Write("Введите знаменатель новой дроби: ");
                a3.Q = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine($"   после:\t {Fractions.ToString(a3)}");
                Enter();

                Console.WriteLine("3. Десятичные дроби чисел:");
                Console.WriteLine($"{a1String}={a1.DecimalFraction}");
                Console.WriteLine($"{a2String}={a2.DecimalFraction}");
                Console.WriteLine($"{addString}={add.DecimalFraction}");
                Console.WriteLine($"{subString}={sub.DecimalFraction}");
                Console.WriteLine($"{multiString}={multi.DecimalFraction}");
                Console.WriteLine($"{divString}={div.DecimalFraction}");
                Console.WriteLine($"{Fractions.ToString(a3)}={a3.DecimalFraction}");
                Enter();
            }
            catch (ArgumentException e) { Console.WriteLine($"{e.GetType().Name}: {e.Message}"); Enter(); }
        }
コード例 #2
0
ファイル: Fractions.cs プロジェクト: pmmson/csharp
 /// <summary>
 /// Метод печати обыкновенной дроби в формате p/q
 /// </summary>
 /// <param name="z"></param>
 /// <returns></returns>
 public static string ToString(Fractions z)
 {
     if (z._p == 0)
     {
         return("0");
     }
     else
     {
         return($"{z._p}/{z._q}");
     }
 }
コード例 #3
0
ファイル: Fractions.cs プロジェクト: pmmson/csharp
 /// <summary>
 /// Метод вычитания обыкновенных дробей
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b"></param>
 /// <returns></returns>
 public static Fractions SubFractions(Fractions a, Fractions b)
 {
     return(new Fractions(a._p * (NOK(a._q, b._q) / a._q) - b._p * (NOK(a._q, b._q) / b._q), NOK(a._q, b._q)));
 }
コード例 #4
0
ファイル: Fractions.cs プロジェクト: pmmson/csharp
 /// <summary>
 /// Метод деления обыкновенных дробей
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b"></param>
 /// <returns></returns>
 public static Fractions DivFractions(Fractions a, Fractions b)
 {
     return(new Fractions(a._p * b._q, a._q * b._p));
 }
コード例 #5
0
ファイル: Fractions.cs プロジェクト: pmmson/csharp
 /// <summary>
 /// Метод умножения обыкновенных дробей
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b"></param>
 /// <returns></returns>
 public static Fractions MultiFractions(Fractions a, Fractions b)
 {
     return(new Fractions(a._p * b._p, a._q * b._q));
 }