增加运算符重载功能:+ - * / 完善输入重载函数:要求可以接受a+bi的形式。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace 重载a_bi
{
    public class Complex
    {
        private int real;
        private int imag;
        public Complex(int real, int imag)
        {
            this.real = real;
            this.imag = imag;
        }
        public int Real
        {
            get { return real;}
            set { real = value; }
        }
        public int Imag
        {
            get { return imag; }
            set { imag = value; }
        }




        //public static Complex Add(Complex a, Complex b)
        //{
        //    return new Complex(a.real + b.real, a.imag + b.imag);
        //}
        //public Complex Add(Complex a)
        //{
        //    return new Complex(real + a.real, imag + a.imag);
        //}
        public static Complex operator +(Complex c1, Complex c2)
        {
            return new Complex(c1.real + c2.real, c1.imag + c2.imag);
        }


        //overload operator(-)  
        public static Complex operator -(Complex c1, Complex c2)
        {
            return new Complex(c1.real - c2.real, c1.imag - c2.imag);
        }


        //overload operator(*)  
        public static Complex operator *(Complex c1, Complex c2)
        {
            return new Complex(c1.real * c2.real - c1.imag * c2.imag,
             c1.real * c2.imag + c1.imag * c2.real);
        }


        //overload operator(/)  
        public static Complex operator /(Complex c1, Complex c2)
        {
            return new Complex(-c1.real * c2.real +
               c1.imag * c2.imag, -c1.real * c2.imag + c1.imag * c2.real);
        }


        public override string ToString()
        {
            if (Real == 0 && Imag == 0)
            { return string.Format("{0}i", 0); }
            if (Real == 0 && (Imag != 1 && Imag != -1))
            { return string.Format("{0}i", Imag); }
            if (Imag == 0)
            {
                return string.Format("{0}", Real);
            }
            if (Imag == 1)
            {
                return string.Format("i");
            }
            if (Imag == -1)
            {
                return string.Format("- i");
            }
            if (Imag < 0)
            {
                return string.Format("{0} - {1} i", Real, -Imag);
            }
            return string.Format("{0} + {1} i", Real, Imag);
        }


    }
    class Program
    {
        
        static void Main(string[] args)
        {
            int e, f, g, h;
            Console.WriteLine("请输入第一个数:");
           
            e = Convert.ToInt32(Console.ReadLine());
            f = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入第二个数:");
            g = Convert.ToInt32(Console.ReadLine());
            h = Convert.ToInt32(Console.ReadLine());


            Complex num1 = new Complex(e,f );
            Complex num2 = new Complex(g ,h );
            
            
            Complex a = num1 + num2;
            Complex b = num1 - num2;
            Complex c = num1 * num2;
            Complex d = num1 / num2;


            //Print the numbers and the Result using the overriden ToString method:  
            Console.WriteLine("First complex number:  {0}", num1);
            Console.WriteLine("Second complex number: {0}", num2);
            Console.WriteLine("加法结果是是: {0}", a);
            Console.WriteLine("减法结果是: {0}", b);
            Console.WriteLine("乘法结果是: {0}", c);
            Console.WriteLine("除法结果是: {0}", d);


            Console.ReadKey();
        }
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值