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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;
class Complex
{
public:
// CONSTRUCTORS
Complex(); // default constructor
Complex(const double,const double); // data constructor
// ARITHMETIC OPERATIONS
Complex add(const Complex&)const; // add 2 Complex objects
void addEqual(const Complex&); // += for Complex objects
Complex subtract(const Complex&)const; // subtract 2 Complex objects
void subtractEqual(const Complex&); // -= for Complex objects
Complex multiply(const Complex&)const; // multiply 2 Complex objects
Complex multiplyPolar(const Complex&)const;// multiply 2 Complex objects
Complex divide(const Complex&)const; // divide 2 Complex objects
Complex dividePolar(const Complex&)const; // divide 2 Complex objects
Complex negative()const; // unary minus
Complex conjugate()const; // finds Complex conjugate
// CONVERSION FUNCTIONS
double r()const; // finds radius
double theta()const; // finds polar angle
Complex pr(const double,const double)const;// polar to rectangular
// UTILITY FUNCTIONS
void print(ostream&); // outputs a Complex object
private:
double x;
double y;
};
Complex::Complex()
{
x=0;
y=0;
}
Complex::Complex(double X, double Y)
{
x=X; y=Y;
}
/*Complex Complex::add(const Complex&z)const
{
return(Complex(x+z.x,y+z.y));
}
Complex Complex::multiplyPolar(const Complex&z)const
{
return(pr(r()*z.r(),theta()+z.theta()));
}
Complex Complex::pr(const double r,const double theta)const
{
return(Complex(r*cos(theta),r*sin(theta)));
}
*/
void Complex::print(ostream&fout)
{
fout<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(4)
<<"("<<setw(6)<<x<<","<<setw(6)<<y<<")";
}
int main()
{
ofstream fout("cmplxout.txt");
//double r4=6,
//theta4=-M_PI,
//r7=10,
//theta7=2*M_PI/3;
Complex z0,z1(-4, 3),z2(-4,-3),z3( 0, 3),z4,z5,z6(-2.1,7.6),z7,z8,z9,z10,
z11,z12,z13,z14,z15,z16;
fout<<"ORIGINAL DATA\n\n"
<< " z0 = ";
//z0.print(fout);.......
return(0);
}
|