加法运算
1.通过函数实现两个复数的加法运算,同时输出符合手写规则。
#include<iostream>
using namespace std;
class Complex
{
public:
Complex();
void input(float a, float b);
Complex add(Complex &c2);
void display();
private:
float real;
float imag;
};
int main()
{
Complex c1, c2, c3;
float a, b, c, d;
cin >> a >> b;
c1.input(a, b);
cin >> c >> d;
c2.input(c, d);
c3 = c1.add(c2);
c3.display();
return 0;
}
Complex::Complex()
{
real = 0;
imag = 0;
}
void Complex::input(float a, float b)
{
real = a;
imag = b;
}
Complex Complex::add(Complex &c2)
{
Complex c;
c.real = real + c2.real;
c.imag = imag + c2.imag;
return c;
}
void Complex::display()
{
if (real == 0)
{
if (imag == 0) cout << "0" << endl;
else
{
if (imag == -1) cout << "-i" << endl;
else if (imag == 1) cout << "i" << endl;
else cout << imag << "i" << endl;
}
}
else
{
if (imag != 0)
{
if (imag>0) cout << real << "+" << imag << "i" << endl;
else cout << real << imag << "i" << endl;
}
else cout << real << endl;
}
}
减法运算
1.通过函数实现两个复数的减法运算,同时输出符合手写规则。
#include<iostream>
using namespace std;
class Complex
{
public:
Complex();
void input(float a, float b);
Complex minus(Complex &c2);
void display();
private:
float real;
float imag;
};
int main()
{
Complex c1, c2, c3;
float a, b, c, d;
cin >> a >> b;
c1.input(a, b);
cin >> c >> d;
c2.input(c, d);
c3 = c1.minus(c2);
c3.display();
return 0;
}
Complex::Complex()
{
real = 0;
imag = 0;
}
void Complex::input(float a, float b)
{
real = a;
imag = b;
}
Complex Complex::minus(Complex &c2)
{
Complex c;
c.real = real - c2.real;
c.imag = imag - c2.imag;
return c;
}
void Complex::display()
{
if (real == 0)
{
if (imag == 0) cout << "0" << endl;
else
{
if (imag == -1) cout << "-i" << endl;
else if (imag == 1) cout << "i" << endl;
else cout << imag << "i" << endl;
}
}
else
{
if (imag != 0)
{
if (imag>0) cout << real << "+" << imag << "i" << endl;
else cout << real << imag << "i" << endl;
}
else cout << real << endl;
}
}