home *** CD-ROM | disk | FTP | other *** search
- /* -------------------------------------------------------------------- */
- /* Z++ Version 1.20 Last revised 02/15/93 */
- /* */
- /* Complex number class for Turbo C++/Borland C++. */
- /* Copyright 1992, 1993 by Carl W. Moreland */
- /* */
- /* demo.cpp */
- /* -------------------------------------------------------------------- */
- /* Test program for the Z++ complex number class. */
- /* -------------------------------------------------------------------- */
-
- #include <stdio.h>
- #include <conio.h>
- #include <stdlib.h>
- #include "complex.h"
-
- void pause(void);
-
- main()
- {
- _setcursortype(_NOCURSOR);
- clrscr();
-
- cout << "\n\n\n\n\n\n";
- cout << " Z++ \n";
- cout << " \n";
- cout << " Complex number class \n";
- cout << " Version 1.20 \n";
- cout << " \n";
- cout << " Written by Carl Moreland \n";
- cout << " \n";
- cout << " Hit any key to continue, \n";
- cout << " or <Ctrl>C to exit \n";
-
- pause();
-
- complex z1(3,4);
- complex z2 = complex(5,-6);
- complex z3;
- z3 = 10.5;
-
- cout << "\n";
- cout << "Create some complex numbers:\n\n";
- cout << "complex z1(3,4);\n";
- cout << "complex z2 = complex(5,-6);\n";
- cout << "complex z3;\n";
- cout << "z3 = 10.5;\n\n";
-
- cout << "The results are:\n\n";
- cout << "z1 = " << z1 << "\n";
- cout << "z2 = " << z2 << "\n";
- cout << "z3 = " << z3 << "\n";
- cout << "\n";
- cout << "complex z2c = conj(z2);\n";
- cout << "The complex conjugate of z2 is " << conj(z2) << "\n";
- cout << "-z2 = " << -z2 << "\n";
-
- pause();
-
- cout << "The magnitude and angle of z1, z2, & z3 are:\n\n";
- cout << "mag(z1) = " << mag(z1) << "\n";
- cout << "ang(z1) = " << ang(z1) << " (radians)\n";
- cout << "mag(z2) = " << mag(z2) << "\n";
- cout << "ang(z2) = " << ang(z2) << " (radians)\n";
- cout << "mag(z3) = " << mag(z3) << "\n";
- cout << "ang(z3) = " << ang(z3) << " (radians)\n";
- cout << "\n";
-
- cout << "Now set the angle mode to degrees:\n";
- Complex.SetArgMode(Z_DEGREES);
- cout << "Complex.SetMode(Z_DEGREES);\n\n";
-
- cout << "ang(z1) = " << ang(z1) << "°\n";
- cout << "ang(z2) = " << ang(z2) << "°\n";
- cout << "ang(z3) = " << ang(z3) << "°\n";
-
- Complex.SetArgMode(Z_RADIANS);
- cout << "\nComplex.SetMode(Z_RADIANS);\n";
-
- pause();
-
- complex z4 = z1 + z2;
- complex z5 = z1 - z2;
- complex z6 = z1 * z2;
- complex z7 = z1 / z2;
-
- cout << "Now use some overloaded operators:\n\n";
- cout << "complex z4 = z1 + z2;\n";
- cout << "complex z5 = z1 - z2;\n";
- cout << "complex z6 = z1 * z2;\n";
- cout << "complex z7 = z1 / z2;\n";
- cout << "\n";
- cout << "z4 = " << z4 << "\n";
- cout << "z5 = " << z5 << "\n";
- cout << "z6 = " << z6 << "\n";
- cout << "z7 = " << z7 << "\n";
- cout << "\n";
-
- pause();
-
- z4 += z1;
- z5 -= z1;
- z6 *= z1;
- z7 /= z1;
-
- cout << "More overloaded operators:\n\n";
- cout << "z4 += z1;\n";
- cout << "z5 -= z1;\n";
- cout << "z6 *= z1;\n";
- cout << "z7 /= z1;\n";
- cout << "\n";
- cout << "z4 = " << z4 << "\n";
- cout << "z5 = " << z5 << "\n";
- cout << "z6 = " << z6 << "\n";
- cout << "z7 = " << z7 << "\n";
- cout << "\n";
-
- Complex.SetPrintMode(Z_LETTER);
-
- cout << "Complex.SetPrintMode(Z_LETTER);\n";
- cout << "z4 = " << z4 << "\n";
- cout << "z5 = " << z5 << "\n";
- cout << "\n";
-
- Complex.SetLetter('j');
-
- cout << "Complex.SetLetter('j');\n";
- cout << "z6 = " << z6 << "\n";
- cout << "z7 = " << z7 << "\n";
- cout << "\n";
-
- Complex.SetLetter('i');
- cout << "Complex.SetLetter('i');\n";
-
- pause();
-
- z4 = sqrt(z1);
- z5 = pow(z1, 1.2);
- z6 = pow(z1, z2);
- z7 = pow(1.2, z1);
-
- cout << "Overloaded C power functions:\n\n";
- cout << "z4 = sqrt(z1);\n";
- cout << "z5 = pow(z1, 1.2);\n";
- cout << "z6 = pow(z1, z2);\n";
- cout << "z7 = pow(1.2, z1);\n";
- cout << "\n";
- cout << "z4 = " << z4 << "\n";
- cout << "z5 = " << z5 << "\n";
- cout << "z6 = " << z6 << "\n";
- cout << "z7 = " << z7 << "\n";
-
- pause();
-
- z4 = sin(z1);
- z5 = cos(z1);
- z6 = exp(z1);
- z7 = log(z1);
-
- cout << "Overloaded C trig functions:\n\n";
- cout << "z4 = sin(z1);\n";
- cout << "z5 = cos(z1);\n";
- cout << "z6 = exp(z1);\n";
- cout << "z7 = log(z1);\n";
- cout << "\n";
- cout << "z4 = " << z4 << "\n";
- cout << "z5 = " << z5 << "\n";
- cout << "z6 = " << z6 << "\n";
- cout << "z7 = " << z7 << "\n";
-
- pause();
-
- cout << "Here are some useful constants that are declared in complex.h:\n\n";
- cout << "Z0 = " << Z0 << "\n";
- cout << "Z1 = " << Z1 << "\n";
- cout << "Zi = " << Zi << "\n";
- cout << "Zinf = " << Zinf << "\n";
-
- pause();
-
- return 0;
- }
-
- void pause(void)
- {
- char ch = getch();
- if(!ch)
- getch();
- if(ch == 0x03)
- exit(0);
- clrscr();
- cout << "\n";
- }
-