Mam do wykonania projekt z informatyki, ma być to kalkulator na liczbach zespolonych. Program jest już gotowy, jednak mam problem ze stworzeniem całej wizualnej oprawki. Chcę, aby zasada działania oraz wygląd był podobny do kalkulatora systemu Windows. Problem polega na tym, że moja wiedza na temat programowania wizualnego jest bardzo mała. Proszę was o pomoc, mianowicie szukam książek ewentualnie stron które będą zawierały przydatne komendy oraz wyjaśnienia, jak je stosować.
Tak wygląda mój program:
Kod: Zaznacz cały
#include <iostream>
#include <math.h>
using namespace std;
class TComplex
{
float Re;
float Im;
public:
void drukuj()
{
cout << Re << showpos << Im << "j";
cout << noshowpos;
}
TComplex()
{
Re=0;
Im=0;
}
TComplex(float R, float I)
{
Re=R;
Im=I;
}
TComplex(float R)
{
Re=R;
Im=0;
}
~TComplex()
{
}
TComplex suma(TComplex b);
TComplex roznica(TComplex c);
TComplex iloczyn(TComplex e);
TComplex iloraz(TComplex f);
TComplex ConjComplex();
float AbsComplex();
float ArgComplexRad();
float ArgComplexDeg();
};
TComplex TComplex::suma(TComplex b)
{
TComplex w;
w.Re=Re+b.Re;
w.Im=Im+b.Im;
return w;
}
TComplex TComplex::roznica(TComplex c)
{
TComplex w;
w.Re=Re-c.Re;
w.Im=Im-c.Im;
return w;
}
TComplex TComplex::iloczyn(TComplex e)
{
TComplex w;
w.Re=Re*e.Re-Im*e.Im;
w.Im=Re*e.Im+Im*e.Re;
return w;
}
TComplex TComplex::iloraz(TComplex f)
{
TComplex w;
w.Re=(Re*f.Re+Im*f.Im)/(f.Re*f.Re+f.Im*f.Im);
w.Im=(Re*f.Im-Im*f.Re)/(f.Re*f.Re+f.Im*f.Im);
return w;
}
TComplex TComplex::ConjComplex()
{
TComplex w;
w.Re=Re;
w.Im=-Im;
return w;
}
float TComplex::AbsComplex()
{
float w;
w=sqrt(Re*Re+Im*Im);
return w;
}
float TComplex::ArgComplexRad()
{
float w;
w=atan2(Im,Re);
return w;
}
float TComplex::ArgComplexDeg()
{
float w;
w=atan2(Im,Re)*(180/3.14);
return w;
}
int main()
{
TComplex z3;
float a, b, c, d;
float z4;
cout << "Re.a:" << endl;
cin >> a;
cout << "Im.a:" << endl;
cin >> b;
TComplex z1(a,b);
cout << "Re.b:" << endl;
cin >> c;
cout << "Im.b:" << endl;
cin >> d;
TComplex z2(c,d);
cout << "z1=";
z1.drukuj(); cout << endl;
cout << "z2=";
z2.drukuj(); cout << endl;
z3=z1.suma(z2);
cout << "z1+z2=";
z3.drukuj(); cout << endl;
z3=z1.roznica(z2);
cout << "z1-z2=";
z3.drukuj(); cout << endl;
z3=z1.iloczyn(z2);
cout << "z1*z2=";
z3.drukuj(); cout << endl;
z3=z1.iloraz(z2);
cout << "z1/z2=";
z3.drukuj(); cout << endl;
z3=z1.ConjComplex();
cout << "z1*=";
z3.drukuj(); cout << endl;
z3=z2.ConjComplex();
cout << "z2*=";
z3.drukuj(); cout << endl;
z4=z1.AbsComplex();
cout << "|z1|=" << z4 << endl;
z4=z2.AbsComplex();
cout << "|z2|=" << z4 << endl;
z4=z1.ArgComplexRad();
cout << "Argument z1 w radianach=" << z4 << endl;
z4=z2.ArgComplexRad();
cout << "Argument z2 w radianach=" << z4 << endl;
z4=z1.ArgComplexDeg();
cout << "Argument z1 w stopniach=" << z4 << endl;
z4=z2.ArgComplexDeg();
cout << "Argument z2 w stopniach=" << z4 << endl;
return 0;
}