private void button11_Click(object sender, EventArgs e) { var cmp1 = new ComplexNum(); cmp1.Convert(textBox1.Text); var cmp2 = new ComplexNum(); cmp2.Convert(textBox2.Text); if (comboBox1.Text == "") { MessageBox.Show("Вы не выбрали операцию!", "Error!", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error); } else { switch (comboBox1.SelectedItem.ToString()) { case "+": cmp1 += cmp2; break; case "-": cmp1 -= cmp2; break; case "*": cmp1 *= cmp2; break; case "/": cmp1 /= cmp2; break; } textBox3.Text = cmp1.BackConvert(); } }
static public ComplexNum operator *(double left, ComplexNum right) { ComplexNum complexNum = new ComplexNum(); complexNum.setReal(left * right.getReal()); complexNum.setImage(left * right.getImage()); return(complexNum); }
static public ComplexNum operator *(ComplexNum left, double right) { ComplexNum complexNum = new ComplexNum(); complexNum.setReal(left.getReal() * right); complexNum.setImage(left.getImage() * right); return(complexNum); }
static public ComplexNum operator /(ComplexNum left, ComplexNum right) { ComplexNum complexNum = new ComplexNum(); double r1 = left.getReal(); double r2 = right.getReal(); double im1 = left.getImage(); double im2 = right.getImage(); double r = (r1 * r2 + im1 * im2) / (r2 * r2 + im2 * im2); double im = (r2 * im1 - r1 * im2) / (r2 * r2 + im2 * im2); complexNum.setReal(r); complexNum.setImage(im); return(complexNum); }