public ComplexAsClass Multiply(ComplexAsClass operand) //Метод для умножения комплексных чисел { ComplexAsClass result = new ComplexAsClass(); result._re = this._re * operand._re + this._im * operand._im; result._im = this._re * operand._im - this._im * operand._re; return(result); }
public ComplexAsClass Plus(ComplexAsClass operand) //Метод сложения комплексных чисел { ComplexAsClass result = new ComplexAsClass(); result._re = this._re + operand._re; result._im = this._im + operand._im; return(result); }
public ComplexAsClass Substraction(ComplexAsClass operand)//Метод для вычитания комплексных чисел { ComplexAsClass result = new ComplexAsClass(); result._re = this._re - operand._re; result._im = this._im - operand._im; return(result); }
static void Main(string[] args) { #region Демострация метода switch с классом ComplexAsClass TASK_1 string inputCompNum_1; string inputCompNum_2; string userChoise; int convertToSwitchCases; ComplexAsClass num_1 = new ComplexAsClass(); ComplexAsClass num_2 = new ComplexAsClass(); do { Console.WriteLine("Введите два комплексных числа по очереди. \n" + "Пример: \n" + "3 6 далее нажмите Enter и введите целую и мнимую часть второго числа. \n" + "Если хотите остановиться: введите q, когда пожелаете."); inputCompNum_1 = Console.ReadLine(); if (inputCompNum_1.Contains('q') == true) { break; //Позволяем пользователю прервать подсчеты на любой стадии ввода } inputCompNum_2 = Console.ReadLine(); if (inputCompNum_2.Contains('q') == true) { break; } num_1 = new ComplexAsClass(inputCompNum_1[0] - '0', inputCompNum_1[2] - '0'); //Переводим из строки(==массива символов) num_2 = new ComplexAsClass(inputCompNum_2[0] - '0', inputCompNum_2[2] - '0'); //в части комплексного числа, избавлясь от символьного остатка Console.WriteLine("Что необходимо сделать с этими числами?"); userChoise = Console.ReadLine().ToLower().Trim(); //Нивеллируем возможные варианты/ошибки при вводе //Записываем в switch-кейсы, что нужно пользователю if (userChoise.Contains("слож") || userChoise.Contains('+')) { convertToSwitchCases = 1; } else if (userChoise.Contains("множ") || userChoise.Contains('*')) { convertToSwitchCases = 2; } else if (userChoise.Contains("выч") || userChoise.Contains('-')) { convertToSwitchCases = 3; } else { break; } switch (convertToSwitchCases) { case 1: { Console.WriteLine((num_1.Plus(num_2)).ToString()); break; } case 2: { Console.WriteLine((num_1.Multiply(num_2)).ToString()); break; } case 3: { Console.WriteLine((num_1.Substraction(num_2)).ToString()); break; } } } while (true); //Так как предоставили возможность пользователю прервать //выполение программы во время ввода, избавились от необходимости управлять циклом условием #endregion // Task2 test oddPositiveNumSummary(); }