⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8_72.cpp

📁 C++程序设计技能百练随书配套光盘的源码
💻 CPP
字号:
#include<iostream.h>
class complex
{
	float a,b;
public:
	complex(){a=0.0;b=0.0;cout<<"默认构造函数执行!";}
	complex(float x,float y) {a=x;b=y;cout<<"构造函数执行!";}
	friend complex Add(complex& comp1,complex& comp2);
	friend complex Sub(complex& comp1,complex& comp2);
	friend complex Mul(complex& comp1,complex& comp2);
	friend void Div(complex& comp1,complex& comp2);
	friend void disp(complex& comp1)
	{
		if(comp1.b>0)
			cout<<comp1.a<<"+"<<comp1.b<<"i"<<endl;
		else
			cout<<comp1.a<<"-"<<-comp1.b<<"i"<<endl;
	}
	void disp()
	{
		if(b>0)
			cout<<a<<"+"<<b<<"i"<<endl;
		else
			cout<<a<<"-"<<-b<<"i"<<endl;
	}
};
 complex Add(complex& comp1,complex& comp2)
{
	float x=comp1.a+comp2.a;
	float y=comp1.b+comp2.b;
	return complex(x,y);
}
complex Sub(complex& comp1,complex& comp2)
{
	float x=comp1.a-comp2.a;
	float y=comp1.b-comp2.b;
	return complex(x,y);
}
complex Mul(complex& comp1,complex& comp2)
{
	float x=comp1.a*comp2.a-comp1.b*comp2.b;
	float y=comp1.a*comp2.b+comp1.b*comp2.a;
	return complex(x,y);
}
void Div(complex& comp1,complex& comp2)
{
	if((comp2.a*comp2.a+comp2.b*comp2.b)!=0)
	{
	    float x=(comp1.a*comp2.a+comp1.b*comp2.b)/(comp2.a*comp2.a+comp2.b*comp2.b);
	    float y=(comp1.b*comp2.a-comp1.a*comp2.b)/(comp2.a*comp2.a+comp2.b*comp2.b);
		cout<<"复数s1、s2之商为:";
        if(y>0)
		  cout<<x<<"+"<<y<<"i"<<endl;
	    else
		  cout<<x<<"-"<<-y<<"i"<<endl;
	}
	else
		cout<<"除数为零,不能相除!";
}

void main()
{
	complex s1(1,2),s2(3,4);
	cout<<"复数s1:";
	s1.disp();
	cout<<"复数s2:";
	s2.disp();
	cout<<"复数s1、s2之和为:";
	disp(Add(s1,s2));
	cout<<"复数s1、s2之差为:";
	disp(Sub(s1,s2));
	cout<<"复数s1、s2之积为:";
	disp(Mul(s1,s2));
	Div(s1,s2);
	cout<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -