/*************************************************
Copyright (C), 2012- , fan qing fu of cumtcs
File name: 软件课程设计第二阶段 (软设1-.cpp)
Author: 计11-1 樊庆富 Version: 1.00 Date: 2012.
Description: 该程序使用该类可以完成复数的加法以及对复数的输出。
Others: ....
Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明
1.main() 完成各种提示与主操作输入输出
2.complex(double r,double i){real=r;imag=i;} 构造函数
3.complex addCom(complex c2); 完成两个复数相加
4.complex redCom(complex c2); 完成两个复数相减
5.complex mulCom(complex c2); 完成两个复数相乘
6.complex divCom(complex c2); 完成两个复数相除
7.complex::modCom()//取模预算
History:
<author> <time> <version > <desc>
*****************************************************/
#include <iostream>
using namespace std;
class complex
{
public:
complex(){real=0;imag=0;} //初始化
complex(double r,double i){real=r;imag=i;}//构造函数
complex addCom(complex c2);//两个复数相加的函数
complex redCom(complex c2);//两个复数相减的函数
complex mulCom(complex c2);//两个复数相乘的函数
complex divCom(complex c2);//两个复数相除的函数
int modCom();
void outCom();
private:
double real; //定义实部
double imag;//定义虚部
};
complex complex::addCom(complex c2) //两个复数相加的函数
{
complex c;
c.real=real+c2.real;//实部与实部相加
c.imag=imag+c2.imag;//虚部与虚部相加
return c;
}
complex complex::redCom(complex c2)
{
complex c;
c.real=real-c2.real;//实部与实部相减
c.imag=imag-c2.imag;//虚部与虚部相减
return c;
}
complex complex::mulCom(complex c2)
{
complex c;
c.real=real*c2.real-imag*c2.imag;//实部运算
c.imag=imag*c2.real+real*c2.imag;//虚部运算
return c;
}
complex complex::divCom(complex c2)
{
complex c;
c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);//实部除法运算
c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);//虚部除法运算
return c;
}
int complex::modCom()//取模预算
{
return real*real+imag*imag;
}
void complex::outCom()
{
cout<<"("<<real<<","<<imag<<"i)"<<endl;//输出该复数
}
int main()
{
complex c1(3,4),c2(5,-10),c3,c4,c5,c6; //定义 六个complex 类型的数
c3=c1.addCom(c2);
cout<<"c1=";//输出c1
c1.outCom();
cout<<"c2=";//输出c2
c2.outCom();
cout<<"c1+c2=";//调用加法函数
c3.outCom();//输出c1+c2的结果
c4=c1.redCom(c2);
cout<<"c1-c2=";
c4.outCom();
c5=c1.mulCom(c2);
cout<<"c1*c2=";
c5.outCom();
c6=c1.divCom(c2);
cout<<"c1/c2=";
c6.outCom();
cout<<"c1的模是:"<<c1.modCom()<<endl;//输出c1的模是
cout<<"c2的模是:"<<c2.modCom()<<endl;//输出c2的模
return 0;
}