C:\Users\Jose\Documents\Cuadernos\UTN Año Lectivo 2013\ejercicios\info ii\poo\Miprueba.cpp domingo, 05 de mayo de 2013 14:54 #pragma hdrstop #include <condefs.h> #include "complejos.h" #include <iostream.h> #include <stdlib.h> #include <stdio.h> //--------------------------------------------------------------------------USEUNIT("complejos.cpp"); //--------------------------------------------------------------------------#pragma argsused /* Archivo Miprueba.cpp Programa principal. Es el programa que va a utilizar la clase complejo. */ main() { complejo c1, c2, c4; complejo c3(1.51, 3.2); c1.real() = 1; c1.imag() = 2; c2.real() = 3; c2.imag() = 4; cout <<c1.modulo()<<"\t"<<c1.argumento()<< " radianes"<<endl; printf( "%lf\t%lf\n", c1.real(), c1.imag() ); printf( "%lf\t%lf\n", c2.real(), c2.imag() ); c4 = c1.conjugado(); printf( "%lf\t%lf\n", c4 = c1 + c2 - c3; printf( "%lf\t%lf\n", c4 = c1*c2; printf( "%lf\t%lf\n", c4 = c1 * 8.5; printf( "%lf\t%lf\n", c4 = c1 / c2; printf( "%lf\t%lf\n", system( "pause" ); c4.real(), c4.imag() ); c4.real(), c4.imag() ); c4.real(), c4.imag() ); c4.real(), c4.imag() ); c4.real(), c4.imag() ); } -1- C:\Users\Jose\Documents\Cuadernos\UTN Año Lectivo 2013\ejercicios\info ii\poo\complejos.h domingo, 05 de mayo de 2013 14:54 //--------------------------------------------------------------------------#ifndef complejosH #define complejosH //--------------------------------------------------------------------------/* Archivo complejos.h Archivo de cabecera donde se declara la clase complejo y se desarrollan las funciones en línea. */ class complejo { private: double re, im; public: complejo(){re = im = 0.00;} complejo( double r, double i ){re = r; im = i;} double & real(void){return re;} double & imag(void){return im;} double modulo(void); double argumento(void); complejo conjugado(void); complejo operator+(complejo c ); complejo operator-(complejo c ); complejo operator*(complejo c ); complejo operator*(double d){return complejo(re*d, im*d);} complejo operator/(complejo c ); bool operator==(complejo c); }; #endif -1- C:\Users\Jose\Documents\Cuadernos\UTN Año Lectivo 2013\ejercicios\info ii\poo\complejos.cpp domingo, 05 de mayo de 2013 14:55 //--------------------------------------------------------------------------#pragma hdrstop #include <math.h> #include "complejos.h" //--------------------------------------------------------------------------#pragma package(smart_init) /* Archivo complejos.cpp Aquí se escribe el código de los métodos de la clase comlejo. */ double complejo::modulo(void) { return sqrt(re*re + im * im ); } double complejo::argumento(void) { if( re == 0 ) { return M_PI / 2.0; } return atan( im / re ); } complejo complejo::conjugado(void) { return complejo( re, im * -1.0); } complejo complejo::operator+(complejo c) { return complejo( re + c.real(), im + c.imag() ); } complejo complejo::operator-(complejo c) { return complejo( re - c.real(), im - c.imag() ); } complejo complejo::operator*(complejo c ) { complejo r; r.real() = re * c.real()- im * c.imag(); r.imag() = re * c.imag() + im * c.real(); return r; } complejo complejo::operator/(complejo c ) { complejo rx(re, im); double dn; dn = (c * c.conjugado()).real(); rx = (rx * c.conjugado() ) * (1 / dn); return rx; } bool operator==(complejo c) -1- C:\Users\Jose\Documents\Cuadernos\UTN Año Lectivo 2013\ejercicios\info ii\poo\complejos.cpp { if( re == c.real() && im == c.imag() ) { return true; } return false; } -2- domingo, 05 de mayo de 2013 14:55