//Klasa statyczna kalkulatora //Metody dodawanie, odejmowanie, mnożenie, dzielenie public static ComplexNumbers AddingCalculator(ComplexNumbers z1, ComplexNumbers z2) { double a1 = z1.a; double a2 = z2.a; double b1 = z1.b; double b2 = z2.b; return(new ComplexNumbers(Math.Round(a1 + a2, 2), Math.Round(b1 + b2, 2))); }
public static ComplexNumbers DividingCalculator(ComplexNumbers z1, ComplexNumbers z2) { double a1 = z1.a; double a2 = z2.a; double b1 = z1.b; double b2 = z2.b; return(new ComplexNumbers(Math.Round((a1 * a2 + b1 * b2) / (a2 * a2 + b2 * b2), 2), Math.Round((b1 * a2 - a1 * b2) / (a2 * a2 + b2 * b2), 2))); }
public static ComplexNumbers MultiplyingCalculator(ComplexNumbers z1, ComplexNumbers z2) { double a1 = z1.a; double a2 = z2.a; double b1 = z1.b; double b2 = z2.b; return(new ComplexNumbers(Math.Round(a1 * a2 - b1 * b2, 2), Math.Round(b1 * a2 + a1 * b2, 2))); }
//Metoda podpięta pod przycisk private void Button_Click(object sender, RoutedEventArgs e) { ComplexNumbers z1 = null, z2 = null; try { z1 = new ComplexNumbers(Double.Parse(txtBoxZ1a.Text.Replace(",", ".")), Double.Parse(txtBoxZ1b.Text.Replace(",", "."))); z2 = new ComplexNumbers(Double.Parse(txtBoxZ2a.Text), Double.Parse(txtBoxZ2b.Text)); } catch (FormatException) { MessageBox.Show("Incorrect syntax", "error", MessageBoxButton.OK, MessageBoxImage.Warning); ClearTxtBoxes(); return; } ////Adding ComplexNumbers Z1PlusZ2 = ComplexNumbersCalculator.AddingCalculator(z1, z2); ShowComplexNumbers(Z1PlusZ2, AddingTxtBoxArithmetic, AddingTxtBoxTrighonometric, AddingTxtBoxExponential); ////Substracting ComplexNumbers Z1MinusZ2 = ComplexNumbersCalculator.SubstractingCalculator(z1, z2); ShowComplexNumbers(Z1MinusZ2, SubstringTxtBoxArithmetic, SubstringTxtTrighonometric, SubstringTxtBoxExponential); ////Multiplaying ComplexNumbers Z1MultiplyZ2 = ComplexNumbersCalculator.MultiplyingCalculator(z1, z2); ShowComplexNumbers(Z1MultiplyZ2, MultiplyingTxtBoxArithmetic, MultiplyingTxtBoxTrighonometric, MultiplyingTxtBoxExponential); ////Dividing ComplexNumbers Z1DivideZ2 = ComplexNumbersCalculator.DividingCalculator(z1, z2); ShowComplexNumbers(Z1DivideZ2, DividingTxtBoxArithmetic, DividingTxtBoxTrighonometric, DividingTxtBoxExponential); }
//Metoda ustawiająca text w TextBoxach public void ShowComplexNumbers(ComplexNumbers complex, TextBox txtBox1, TextBox txtBox2, TextBox txtBox3) { txtBox1.Text = complex.ToArithmethicExpression(); txtBox2.Text = complex.ToTrighonometricExpression(); txtBox3.Text = complex.ToExponentialExpression(); }