复数运算类

1.计算复数的模

z=a+b_{i} \rightarrow r=\left | a+b_{i} \right |=\sqrt{a^{2}+b^{2}}

计算复数的幅角

z=a+b_{i} \rightarrow\theta =arctan\frac{b}{a}

2.计算两个复数的和差

\vartheta \pm \nu _{i}=(a+b_{i})\pm(c+d_{i}) \\\vartheta =(a\pm c) ,\nu =(b\pm d)

//复数的运算类1.h
#include<iostream> 
# include<cmath>
using namespace std;
//复数的计算类
class complex
{
	private:
		double R;	//复数的实部 
		double I;	//复数的虚部
	
	public:
		
		complex(double real=0,double image=0)  //构造函数 
		{
			R=real;
			I=image;
		}
		
		void print()	//复数输出
		{
			cout<<"("<<R<<","<<I<<")" ;    //输出为(R,I)
			return ; 
		 } 
		 
		double Cabs()	//复数的模 
		{
			double y;
			y=sqrt(R*R+I*I);
			return 0;
		}
		
		double angle()	//复数幅角 
		{
			double y;
			y=atan2(I,R);
			return y;
		}
		
		complex operator + (complex& c2)    //复数加法。重载运算符+
		{
			complex c;
			c.R=R+c2.R;
			c.I=I+c2.I;
			return c;
		}
		
		complex operator - (complex& c2)    //复数减法。重载运算符-
		{
			complex c;
			c.R=R-c2.R;
			c.I=I-c2.I;
			return c;
		}
 } ;
//实例计算 
#include<iostream>
#include<cmath>
#include"复数运算类.h"
using namespace std;
int main()
{
    int i;
    double a,b;
    complex c1,c2,c3,c,p[5];
    
    cin>>a>>b;     //输入c1的实部和虚部 
    c1=complex(a,b); cout<<"c1="; c1.print(); cout<<endl;
    
    cin>>a>>b;     //输入c2的实部和虚部 
    c2=complex(a,b); cout<<"c2="; c2.print(); cout<<endl;
    
    cin>>a>>b;     //输入c3的实部和虚部 
    c3=complex(a,b); cout<<"c3="; c3.print(); cout<<endl;
    
    c=c1+c2;
    cout<<"c1+c2="; c.print();
    cout<<endl; 
    
    c=c1-c2;
    cout<<"c1-c2="; c.print();
    cout<<endl; 
    
    return 0;
}

计算结果为如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yasen.M

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值