예제 #1
0
        public bool func(ComplexNum z1, ComplexNum z2)
        {
            //проверка всех методов
            bool       flag  = true;
            string     input = "";
            ComplexNum z     = new ComplexNum();

            while (flag)
            {
                Console.WriteLine("0 - Сложение комлексных чисел");
                Console.WriteLine("1 - Вычитание комлексных чисел");
                Console.WriteLine("2 - Умножение комлексных чисел");
                Console.WriteLine("3 - Создать новые комлексные числа");
                Console.WriteLine("4 - Выход");
                input = Console.ReadLine();
                if ((input == "0") || (input == "1") || (input == "2") || (input == "4"))
                {
                    Console.WriteLine();
                    switch (input)
                    {
                    case "0":
                        Console.WriteLine("z1 + z2");
                        z = z1 + z2;
                        z.ToExpForm();
                        z.Print();
                        break;

                    case "1":
                        Console.WriteLine("z1 - z2");
                        z = z1 - z2;
                        z.ToExpForm();
                        z.Print();
                        break;

                    case "2":
                        Console.WriteLine("z1 * z2");
                        z = z1 * z2;
                        z.Print();
                        break;

                    case "4":
                        flag = false;
                        break;
                    }
                }
                else if (input == "3")
                {
                    if (func(EnterCN(1), EnterCN(2)) == false)
                    {
                        flag = false;
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("Некорректный ввод!");
                }
            }
            return(flag);
        }
예제 #2
0
        public static ComplexNum operator -(ComplexNum z1, ComplexNum z2)
        {
            ComplexNum z = new ComplexNum();

            z.reZ = z1.reZ - z2.reZ;
            z.imZ = z1.imZ - z2.imZ;
            return(z);
        }
예제 #3
0
        public static ComplexNum operator *(ComplexNum z1, ComplexNum z2)
        {
            ComplexNum z = new ComplexNum();

            z.reZ = z1.reZ * z2.reZ - z1.imZ * z2.imZ;
            z.imZ = z1.reZ * z2.imZ + z2.reZ * z1.imZ;
            z.r   = z1.r * z2.r;
            z.phi = z1.phi + z2.phi;
            return(z);
        }
예제 #4
0
        public ComplexNum EnterCN(int i)
        {
            //ввод комлексного числа
            string     input = "";
            bool       flag  = true;
            ComplexNum z     = new ComplexNum();

            Console.WriteLine("0 - создать комлексное число");
            Console.WriteLine("1 - создать комлексное число в показательной форме");

            while (flag)
            {
                input = Console.ReadLine();
                if ((input == "0") || (input == "1"))
                {
                    flag = false;
                }
                else
                {
                    Console.WriteLine("Некорректный ввод!");
                }
            }
            switch (input)
            {
            case "0":
                Console.WriteLine(" z = ReZ + ImZ*i");
                Console.WriteLine("Введите действительную часть комлексного числа:");
                Console.Write("ReZ = "); double a = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Введите мнимую часть комлексного числа:");
                Console.Write("ImZ = "); double b = Convert.ToDouble(Console.ReadLine());
                z.ReZ = a; z.ImZ = b; z.ToExpForm();
                Console.Write("{0} комплексное число: ", i);
                z.Print();
                Console.WriteLine();
                break;

            case "1":
                Console.WriteLine(" z = r * e^(i*phi)");
                Console.WriteLine("Введите модуль комплексного числа:");
                Console.Write("r = "); double r = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Введите аргумент комлексного числа:");
                Console.Write("phi = "); double p = Convert.ToDouble(Console.ReadLine());
                z.R = r; z.Phi = p; z.ToAlgForm();
                Console.Write("{0} комплексное число: ", i);
                z.Print();
                Console.WriteLine();
                break;
            }
            return(z);
        }