示例#1
0
        //Addition function
        public complexNumber addition(complexNumber Z2)
        {
            double        Real     = this.real + Z2.real;
            double        Imag     = this.imaginary + Z2.imaginary;
            complexNumber solution = new complexNumber(Real: Real, Imag: Imag);

            return(solution);
        }
示例#2
0
        //Multiplication function
        public complexNumber multiplication(complexNumber Z2)
        {
            double        Real     = this.real * Z2.real - this.imaginary * Z2.imaginary;
            double        Imag     = this.real * Z2.imaginary + this.imaginary * Z2.real;
            complexNumber solution = new complexNumber(Real: Real, Imag: Imag);

            return(solution);
        }
示例#3
0
        //Division function
        public complexNumber division(complexNumber Z2)
        {
            double a, b, c;

            a = this.real * Z2.real + this.imaginary * Z2.real;
            b = this.imaginary * Z2.real - this.real * Z2.real;
            c = Z2.real * Z2.real + Z2.imaginary * Z2.imaginary;

            double        Real     = Math.Round((a / c), 3);
            double        Imag     = Math.Round((b / c), 3);
            complexNumber solution = new complexNumber(Real: Real, Imag: Imag);

            return(solution);
        }
示例#4
0
        private void rb_polarZ1_CheckedChanged(object sender, EventArgs e)
        {
            if (tb_z1value1.Text != "" && tb_z1value2.Text != "" && rb_polarZ1.Checked)
            {
                try
                {
                    _z1 = new complexNumber(Real: Convert.ToDouble(tb_z1value1.Text), Imag: Convert.ToDouble(tb_z1value2.Text));
                    tb_z1value1.Text = _z1.amount.ToString();
                    tb_z1value2.Text = _z1.angle.ToString();
                }
                catch
                {
                    MessageBox.Show("Fehler bei Konvertierung!", "Error");
                    tb_z1value1.Text = "";
                    tb_z1value2.Text = "";
                }
            }
            if (rb_polarZ1.Checked)
            {
                lbl_z1.Text           = "R= ";
                lbl_z1ad.Text         = ", Phi= ";
                lbl_z1i.Text          = "°";
                lbl_formulaZ1.Visible = true;
            }

            if (tb_z1value1.Text != "" && tb_z1value2.Text != "" && rb_kartZ1.Checked)
            {
                try
                {
                    _z1 = new complexNumber(Amount: Convert.ToDouble(tb_z1value1.Text), Angle: Convert.ToDouble(tb_z1value2.Text));
                    tb_z1value1.Text = _z1.real.ToString();
                    tb_z1value2.Text = _z1.imaginary.ToString();
                }
                catch
                {
                    MessageBox.Show("Fehler bei Konvertierung!", "Error");
                    tb_z1value1.Text = "";
                    tb_z1value2.Text = "";
                }
            }
            if (rb_kartZ1.Checked)
            {
                lbl_z1.Text           = "Z1= ";
                lbl_z1ad.Text         = " + ";
                lbl_z1i.Text          = "i";
                lbl_formulaZ1.Visible = false;
            }
        }
示例#5
0
 private void btn_exec_Click(object sender, EventArgs e)
 {
     try
     {
         string z1Safe = "", z2Safe = "";
         if (rb_polarZ1.Checked)
         {
             _z1    = new complexNumber(Amount: Convert.ToDouble(tb_z1value1.Text), Angle: Convert.ToDouble(tb_z1value2.Text));
             z1Safe = _z1.amount.ToString() + "*(cos(" + _z1.angle.ToString() + ") + sin(" + _z1.angle.ToString() + ")i)";
         }
         if (rb_polarZ2.Checked)
         {
             _z2    = new complexNumber(Amount: Convert.ToDouble(tb_z2value1.Text), Angle: Convert.ToDouble(tb_z2value2.Text));
             z2Safe = _z2.amount.ToString() + "*(cos(" + _z2.angle.ToString() + ") + sin(" + _z2.angle.ToString() + ")i)";
         }
         if (rb_kartZ1.Checked)
         {
             _z1    = new complexNumber(Real: Convert.ToDouble(tb_z1value1.Text), Imag: Convert.ToDouble(tb_z1value2.Text));
             z1Safe = _z1.real.ToString() + "+" + _z1.imaginary.ToString() + "i";
         }
         if (rb_kartZ2.Checked)
         {
             _z2    = new complexNumber(Real: Convert.ToDouble(tb_z2value1.Text), Imag: Convert.ToDouble(tb_z2value2.Text));
             z2Safe = _z2.real.ToString() + "+" + _z2.imaginary.ToString() + "i";
         }
         if (executeCalc())
         {
             btn_information.Visible = true;
             lv_calc.Items.Add(z1Safe);
             lv_calc.Items.Add(lbl_calc.Text);
             lv_calc.Items.Add(z2Safe);
             lv_calc.Items.Add("=");
             lv_calc.Items.Add(lbl_solution.Text);
             lv_calc.Items.Add("-----------------");
             lv_calc.Items[lv_calc.Items.Count - 1].EnsureVisible();
         }
     }
     catch
     {
         MessageBox.Show("Bitte geben sie gültige Zahlen ein!", "Error");
     }
 }