Witam. Mam problem z programem wykonującym obliczenia na liczbach zespolonych. Po skompilowaniu w wynikach są błędy np. jakieś dziwne liczby jak "e^-39". Prosze o pomoc. Oto kod:
#include <iostream>
using namespace std;
class zespolone
{
public:
float real;
float imagin;
zespolone(float real, float imagin)
{
real = real;
imagin = imagin;
}
void print(void)
{
cout << "(" << real << " " << imagin << "i" << ")";
}
zespolone dodawanie(zespolone zesp)
{
zespolone z(0,0);
z.real =real + zesp.real;
z.imagin =imagin + zesp.imagin;
return z;
}
zespolone mnozenie(zespolone zesp)
{
zespolone z(0,0);
z.real = real * zesp.real;
z.imagin = imagin * zesp.imagin * -1;
return z;
}
zespolone odejmowanie(zespolone zesp)
{
zespolone z(0,0);
z.real = real - zesp.real;
z.imagin = imagin - zesp.imagin;
return z;
}
};
ostream& operator<<(ostream &os, zespolone z)
{
z.print();
return os;
}
int main()
{
float a,b,c,d;
zespolone z(a,b);
zespolone t(c,d);
cout<<"Podaj czesc rzeczywista liczby zespolonej z:"<<endl;
cin>>a;
cout<<"Podaj czesc urojona liczby zespolonej z:"<<endl;
cin>>b;
cout<<"Podaj czesc rzeczywista liczby zespolonej t:"<<endl;
cin>>c;
cout<<"Podaj czesc urojona liczby zespolonej t:"<<endl;
cin>>d;
cout<<"dodawanie:"<<z.dodawanie(t)<<endl;
cout<<"odejmowanie:"<<z.odejmowanie(t)<<endl;
cout<<"mnozenie:"<<z.mnozenie(t)<<endl;
return 0;
}