1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
#define PI 3.1415
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
class Komplex
{
private:
string name;
float re;
float im;
float be;
float phi;
public:
void eingabe();
void ausgabe();
void add(const Komplex &a, const Komplex &b);
void sub(const Komplex &a, const Komplex &b);
void mul(const Komplex &a, const Komplex &b);
void div(const Komplex &a, const Komplex &b);
Komplex operator+=(Komplex a);
Komplex operator-=(Komplex a);
Komplex operator*=(Komplex a);
Komplex operator/=(Komplex a);
friend Komplex operator+(Komplex a, Komplex b);
friend Komplex operator-(Komplex a, Komplex b);
friend Komplex operator*(Komplex a, Komplex b);
friend Komplex operator/(Komplex a, Komplex b);
Komplex(string na, float r, float i);
};
Komplex::Komplex(string na, float r, float i)
{
name = na;
re = r;
im = i;
be = sqrt(re*re + im*im);
phi = atan2(im,re)*360/(2*PI);
}
Komplex operator+(Komplex a, Komplex b)
{
Komplex u("u",0,0);
u.re = a.re + b.re;
u.im = a.im + b.im;
u.be = sqrt(u.re*u.re + u.im*u.im);
u.phi = atan2(u.im,u.re)*360/(2*PI);
return u;
}
Komplex Komplex::operator+=(Komplex a)
{
*this = *this + a;
return *this;
}
void Komplex::add(const Komplex &a, const Komplex &b)
{
re = a.re + b.re;
im = a.im + b.im;
be = sqrt(re*re + im*im);
phi = atan2(im,re)*360/(2*PI);
}
|