解决方案 »

  1.   

    谢谢过楼上的了,去看了一下,不过都是用VB编的,我以前没有学过VB,不知道用C#怎么编写?
      

  2.   

    public struct Complex
    {
        public int real;
        public int imaginary;    public Complex(int real, int imaginary)  //constructor
        {
            this.real = real;
            this.imaginary = imaginary;
        }    // Declare which operator to overload (+),
        // the types that can be added (two Complex objects),
        // and the return type (Complex):
        public static Complex operator +(Complex c1, Complex c2)
        {
            return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
        }    // Override the ToString() method to display a complex number in the traditional format:
        public override string ToString()
        {
            return (System.String.Format("{0} + {1}i", real, imaginary));
        }
    }class TestComplex
    {
        static void Main()
        {
            Complex num1 = new Complex(2, 3);
            Complex num2 = new Complex(3, 4);        // Add two Complex objects through the overloaded plus operator:
            Complex sum = num1 + num2;        // Print the numbers and the sum using the overriden ToString method:
            System.Console.WriteLine("First complex number:  {0}", num1);
            System.Console.WriteLine("Second complex number: {0}", num2);
            System.Console.WriteLine("The sum of the two numbers: {0}", sum);
        }
    }//一个简单的复数类。。
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;namespace  复数
    {    public struct  Complex
    {
            public  double  real;
            public  double  imaginary;
            public Complex(double  real, double imaginary)     {   this.real = real;
            this.imaginary = imaginary;    }
            public static Complex operator +(Complex c1, Complex c2) //重载"+"运算符
    {
    return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
    }
            public static Complex operator -(Complex c1, Complex c2) //重载"-"运算符
    {
    return new Complex(c1.real -c2.real, c1.imaginary - c2.imaginary);
    }
            public static Complex operator *(Complex c1, Complex c2) //重载"*"运算符
    {
    return new Complex((c1.real*c2.real-c1.imaginary*c2.imaginary),( c1.real*c2.imaginary+ c2.real*c1.imaginary));
    }
            public static Complex operator / (Complex c1, Complex c2)//重载"/"运算符
            {
               
                return new Complex((c1.real * c2.real + c1.imaginary * c2.imaginary) / (c2.real * c2.real + c2.imaginary * c2.imaginary), (c2.real * c1.imaginary - c1.real * c2.imaginary) / (c2.real * c2.real + c2.imaginary * c2.imaginary));      }
            public static bool operator > (Complex c1,Complex c2)//重载">"运算符
    {
    if(c1.real>c2.real)
               return  true;
            else return false;}
                
            public static bool operator < (Complex c1,Complex c2)
    {
    if(c1.real<c2.real)
               return  true;
            else return false;
         }        public static bool operator ==(Complex c1, Complex c2)//重载"<"运算符
         {
                if ((c1.real == c2.real) && (c1.imaginary == c2.imaginary))
                    return true;
                 else return false;
         }
              
             public static bool operator !=(Complex c1,Complex c2)
    {
    if((c1.real==c2.real)&&(c1.imaginary==c2.imaginary))
     return false;
    else return true;
    }
            public override string ToString( )
            {
                return (String.Format("{0} + {1} I", real, imaginary));
            }
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            
            public static void Main(  )
            {
                   Complex value1= new  Complex(4,3);
                   Complex value2 = new Complex(5,4);
                   Complex sum = value1 + value2;
                   Console.WriteLine("第一个复数是:  {0}",value1);
                   Console.WriteLine("第二个复数是:  {0}", value2);
                   Console.WriteLine("两个复数的和是: {0}", sum);
                  
                   
      
               
            }
        }
    }
    这是自己编的,怎么也运行不出来,不知道问题出在哪里??????????
      

  4.   

    public struct Complex 

        public int real; 
        public int imaginary;     public Complex(int real, int imaginary)  //constructor 
        { 
            this.real = real; 
            this.imaginary = imaginary; 
        }         public static Complex operator +(Complex c1, Complex c2) 
        { 
            return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary); 
        }     // Override the ToString() method to display a complex number in the traditional format: 
        public override string ToString() 
        { 
            return (System.String.Format("{0} + {1}i", real, imaginary)); 
        } 
    } class TestComplex 

        static void Main() 
        { 
            Complex num1 = new Complex(2, 3); 
            Complex num2 = new Complex(3, 4);         // Add two Complex objects through the overloaded plus operator: 
            Complex sum = num1 + num2;         // Print the numbers and the sum using the overriden ToString method: 
            System.Console.WriteLine("First complex number:  {0}", num1); 
            System.Console.WriteLine("Second complex number: {0}", num2); 
            System.Console.WriteLine("The sum of the two numbers: {0}", sum); 
        }