示例#1
0
        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();
            }
        }
示例#2
0
        static public ComplexNum operator *(double left, ComplexNum right)
        {
            ComplexNum complexNum = new ComplexNum();

            complexNum.setReal(left * right.getReal());
            complexNum.setImage(left * right.getImage());
            return(complexNum);
        }
示例#3
0
        static public ComplexNum operator *(ComplexNum left, double right)
        {
            ComplexNum complexNum = new ComplexNum();

            complexNum.setReal(left.getReal() * right);
            complexNum.setImage(left.getImage() * right);
            return(complexNum);
        }
示例#4
0
        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);
        }