【问题描述】定义一个复数类,使其适用于复数运算。
【输入形式】分别输入两个复数的实部和虚部,利用构造函数输入两个复数,如compelx c1(1,-2i);complex c2(3,4i)
【输出形式】输出:c1+c2=4+2i,c1*c2=11-2i
【样例输入】1 -2
3 4
【样例输出】please input the first complex c1:
please input the first complex c2:
c1+c2=4+2i
c1*c2=11-2i
//类和对象-复数
#include<iostream>
using namespace std;
class fsys
{
int a1,a2,a3,a4;//两个复数的实部和虚部数
public:
fsys(int a11,int a22,int a33,int a44);
int num1(){return a1+a3;}
int num2(){return a2+a4;}
int num3(){return a1*a3-a2*a4;}
int num4(){return a2*a3+a1*a4;}
};//复数的加法和乘法
fsys::fsys(int a11,int a22,int a33,int a44)
{
a1=a11;
a2=a22;
a3=a33;
a4=a44;
}
int main()
{
int a1,a2,a3,a4;
cout<<"please input the first complex c1:"<<endl;
cin>>a1>>a2;
cout<<"please input the first complex c2:"<<endl;
cin>>a3>>a4;
fsys jfcf(a1,a2,a3,a4);
if(jfcf.num2()>0&&jfcf.num1()!=0)//判断虚部数的正负
cout<<"c1+c2="<<jfcf.num1()<<"+"<<jfcf.num2()<<"i"<<endl;
if(jfcf.num2()==0&&jfcf.num1()!=0)
cout<<"c1+c2="<<jfcf.num1()<<endl;
if(jfcf.num2()<0&&jfcf.num1()!=0)
cout<<"c1+c2="<<jfcf.num1()<<jfcf.num2()<<"i"<<endl;
if(jfcf.num4()>0&&jfcf.num3()!=0)
cout<<"c1*c2="<<jfcf.num3()<<"+"<<jfcf.num4()<<"i"<<endl;
if(jfcf.num4()==0&&jfcf.num3()!=0)
cout<<"c1*c2="<<jfcf.num3()<<endl;
if(jfcf.num4()<0&&jfcf.num3()!=0)
cout<<"c1*c2="<<jfcf.num3()<<jfcf.num4()<<"i"<<endl;
if(jfcf.num2()>0&&jfcf.num1()==0)
cout<<"c1+c2="<<jfcf.num2()<<"i"<<endl;
if(jfcf.num2()==0&&jfcf.num1()==0)
cout<<"c1+c2=0"<<endl;
if(jfcf.num2()<0&&jfcf.num1()==0)
cout<<"c1+c2="<<jfcf.num2()<<"i"<<endl;
if(jfcf.num4()>0&&jfcf.num3()==0)
cout<<"c1*c2="<<jfcf.num4()<<"i"<<endl;
if(jfcf.num4()==0&&jfcf.num3()==0)
cout<<"c1*c2=0"<<endl;
if(jfcf.num4()<0&&jfcf.num3()==0)
cout<<"c1*c2="<<jfcf.num4()<<"i"<<endl;
}