实验4_1.cpp
来自「VC开发的复数运算符重载源代码」· C++ 代码 · 共 76 行
CPP
76 行
#include<math.h>
#include<iostream.h>
class complex
{
private: double real,imag;
public : complex(){real=imag=0.0;}
complex(double r, double i){real=r;imag=i;}
complex operator+(const complex& c);
complex operator-(const complex& c);
complex operator*(const complex& c);
complex operator/(const complex& c);
friend void print(const complex& c);
};
void formatoutput();
inline complex complex::operator+(const complex& c)
{return complex(real+c.real,imag+c.imag);}
inline complex complex::operator-(const complex& c)
{return complex(real-c.real,imag-c.imag);}
inline complex complex::operator*(const complex& c)
{complex temp;
temp.real=real*c.real-imag*c.imag;
temp.imag=real*c.imag+imag*c.real;
return temp;
}
inline complex complex::operator/(const complex& c)
{complex temp;
double t=c.real*c.real+c.imag*c.imag;
temp.real=(real*c.real+imag*c.imag)/t;
temp.imag=(imag*c.real-real*c.imag)/t;
return temp;
}
void print(const complex& c)
{if(c.imag<0)
cout<<c.real<<c.imag<<'i'<<endl;
else
cout<<c.real<<'+'<<c.imag<<'i'<<endl;
}
void formatoutput()
{cout.setf(ios::showpoint);
cout.precision(2);
}
void main()
{formatoutput();
int a,b,c,d;
cout<<"please input the c1:";
cin>>a>>b;
cout<<"please input the c2:";
cin>>c>>d;
complex c1(a,b),c2(c,d),c3;
c3=c1+c2;
cout<<"\n c3=c1+c2=";
print(c3);
c3=c1-c2;
cout<<"\n c3=c1-c2=";
print(c3);
c3=c1*c2;
cout<<"\n c3=c1*c2=";
print(c3);
c3=c1/c2;
{if(c==0&&d==0)cout<<"error!分母为零,无意义"<<endl;
else
{cout<<"\n c3=c1/c2=";
print(c3);}
}
c3=(c1+c2)*(c1-c2)*c2/c1;
{if(a==0&&b==0)cout<<"error!分母为零,无意义"<<endl;
else{cout<<"\nc3=(c1+c2)*(c1-c2)*c2/c1=";
print(c3);}}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?