定义一个复数类Complex,使得下面的代码能够工作:

定义一个复数类Complex,使得下面的代码能够工作:
Complex c1(3, 5);        //用复数3+5i初始化c1
Complex c2 = 4.5;        //用实参4.5作为实部初始化c2,虚部为0
c1.add(c2);              //将c1与c2相加,结果保存在c1中
c1.show();               //将c1输出(这时结果应该是7.5+5i)

输入格式

每组输入2行,第一行是空格隔开的实部、虚部,用于初始化第一个复数。第二行是一个实数,用于初始化第二个复数。

输出格式

使用成员函数show()输出第一个复数和第二个复数相加的结果

输入样例

3 5
4.5
3.6 0
4
0 5.6
-9.7
12 -9.5
-15
3.4 5
-3.4
0 0
0

输出样例

7.5+5i
7.6
-9.7+5.6i
-3-9.5i
5i
0

示例:

# include <iostream>
using namespace  std;

//我们定义一个类,类的名字是Complex
class Complex
{
//私有成员
private:
    double shibu, xubu;
//共有成员
public:
    void c1(double S, double X);//给出函数原型
    void c2(double S2);//给出函数原型
    void add(double S, double S2, double X);//给出函数原型
    void show();//给出函数原型
};
//实现类的成员函数
void Complex::c1(double S, double X) { shibu = S; xubu = X; }
void Complex::c2(double S2) { shibu = S2; }
void Complex::add(double S, double S2, double X) { shibu = S + S2; xubu = X; }

//考虑各种输出情况
void Complex::show()
{
    if (shibu != 0 && xubu > 0)
    {
        cout << shibu <<"+" << xubu << "i" << endl;
    }
    else if (shibu != 0 && xubu < 0)
    {
        cout << shibu << xubu << "i" << endl;
    }
    else if (shibu == 0 && xubu == 0)
    {
        cout << 0 << endl;
    }
    else if (shibu == 0 && xubu != 0)
    {
        cout << xubu <<"i" <<endl;
    }
    else if (shibu != 0 && xubu == 0)
    {cout << shibu << endl;
    }
}

//调用
int main()
{
    Complex complex1, complex2;
    double S, X, S2;
    while (cin >> S >> X >> S2)
    {
        complex1.c1(S, X);
        complex2.c2(S2);
        complex1.add(S, S2, X);
        complex1.show();
    }
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值