复数四则运算-c++代码实现及运行实例结果

c++代码



#include <iostream>

using namespace std;

class complex//类置于开始部分
{
private:
    double imag;//虚部实部
    double real;
public:
    complex add(complex x);//四则运算
    complex sub(complex x);
    complex mul(complex x);
    complex div(complex x);
    void output();//打印输出
    void initSet(double re,double im);//初始化
};

void complex::initSet(double re=0,double im=0)//不传参默认值为零
{
    real=re;
    imag=im;
}

void complex::output()
{
        if(real!=0)
        {
            cout<<real;
            if(imag>0)
                cout<<"+"<<imag<<"i";
            else if(imag==0)
                cout<<imag;
            else if(imag<0)
                cout<<"-"<<imag<<"i";
        }
        else
        {
            if(imag>0)
                cout<<imag<<"i";
            else if(imag==0)
                cout<<imag;
            else if(imag<0)
                cout<<"-"<<imag<<"i";
        }
        cout<<endl;

}

complex complex::add(complex x)
{
    complex result;
    result.real=real+x.real;
    result.imag=imag+x.imag;
    return result;
}

complex complex::sub(complex x)
{
    complex result;
    result.real=real-x.real;
    result.imag=imag-x.imag;
    return result;
}

complex complex::mul(complex x)
{
    complex result;
    result.real=real*x.real-imag*x.imag;
    result.imag=imag+x.real+x.imag*real;
    return result;
}

complex complex::div(complex x)
{
    complex result;
    if(x.real==0&&x.imag==0)
        {
            cout<<"除数不能为零"<<endl;
            cout<<"被除数为:"<<endl;
        }

    else
    {
        result.real=(real*x.real+imag*x.imag)/(x.real*x.real+x.imag*x.imag);
        result.imag=(imag*x.real-x.imag*real)/(x.real*x.real+x.imag*x.imag);
        return result;
    }
    result.real=real+x.real;
    result.imag=imag+x.imag;
    return result;
}

int main()
{
    complex x1,x2,x3,x4,result1,result2,result3,result4;
    x1.initSet(-1,1);//初始化,整数、小数均可
    x2.initSet(-2,2);
    x3.initSet(0,3);
    x4.initSet();

    cout<<"复数x1的值"<<endl;
    x1.output();//先打印输出
    cout<<"复数x2的值"<<endl;
    x2.output();
    cout<<"复数x3的值"<<endl;
    x3.output();
    cout<<"复数x4的值"<<endl;
    x4.output();

    cout<<"x1与x2相加的结果"<<endl;
    result1=x1.add(x2);//x1与x2相加
    result1.output();//输出结果
    cout<<"x2与x3相减的结果"<<endl;
    result2=x2.sub(x3);
    result2.output();
    cout<<"x3与x1相乘的结果"<<endl;
    result3=x3.mul(x1);
    result3.output();
    cout<<"x2与x4相除的结果"<<endl;
    result4=x2.div(x4);
    result4.output();

    return 0;
}



运算结果


  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值