Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: angeljonh en 30 Agosto 2017, 06:22 am



Título: clase Complejo para definir un numero complejo y realizar las operaciones
Publicado por: angeljonh en 30 Agosto 2017, 06:22 am
!ayuda!
1) Codifique la interfaze implementación de la clase Complejo para definir un numero complejo y realizar las operaciones aritmeticas sobre numeros complejos, siga el diseño de la clase.
2) cree un objeto complejo y compruebe el funcionamiento del mismo.

Interfaz de la clase complejo.

Código
  1. //clases/complejo.h
  2. /*Interfaz de la clase complejo*/
  3.  
  4. #ifndef complejo_H
  5. #define complejo_H
  6.  
  7. class complejo
  8. private:
  9.    float real;
  10.    float imaginario;
  11. public:
  12.    complejo(float real,float imaginario);
  13.    float obtenerReal(void);
  14.    float obtenerImaginario(void);
  15.    void suma(sumando1 complejo, sumando2 complejo);
  16.    void resta(minuendo complejo, sustraendo complejo);
  17.    void multiplicacion(multiplicando complejo, multiplicador complejo);
  18.    void division(dividendo complejo, divisor complejo);
  19. #endif // complejo_H
  20.  

Implementación de la clase complejo.

Código
  1. //clases/complejo.cpp
  2. /*
  3. **Implementación de la clase complejo.*/
  4.  
  5. #include <iostream>
  6. #include "complejo.h"
  7. using std::cout;
  8. using std::endl:
  9.  
  10. complejo::complejo(float real,float imaginario){
  11.    this->real=real;
  12.    this->imaginario=imaginario;}
  13. float complejo::obtenerReal(void){
  14.    real=1;}
  15. float complejo::obtenerImaginario(void){
  16.    imaginario=1;}
  17. void complejo::suma(sum1 real, sum2 imaginario){
  18.    suma(sum1+sum2);}
  19. void complejo::resta(minuendo real, sustraendo imaginario){
  20.    resta(real-imaginario);}
  21. void complejo::multiplicacion(multiplicando real, multiplicador imaginario){
  22.    multiplicacion(real*imaginario);}
  23. void complejo::division(dividendo real, divisor imaginario){
  24.    division(real/imaginario);}
  25.  
  26. int main(void){
  27.    complejo c;
  28.    c.suma();
  29.    c.resta();
  30.    c.multiplicacion();
  31.    c.division();
  32.    return 0;
  33. }
  34.  

me da error o no se en que estoy mal adjunte el codigo que llevo no se que me falte.
AYUDA!!


· Los titulos deben ser descriptivos
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Clases
Publicado por: engel lex en 30 Agosto 2017, 06:24 am
no dices ne que te da errror... copia y pega tus errores


Título: Re: clase Complejo para definir un numero complejo y realizar las operaciones
Publicado por: ivancea96 en 30 Agosto 2017, 11:56 am
La pregunta es qué no da error :o

Mira aquí como se declaran las funciones/métodos y sus parámetros:
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Funciones (https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Funciones)
O aquí:
https://msdn.microsoft.com/es-es/library/c4d5ssht.aspx (https://msdn.microsoft.com/es-es/library/c4d5ssht.aspx)


Título: Re: clase Complejo para definir un numero complejo y realizar las operaciones
Publicado por: angeljonh en 31 Agosto 2017, 06:23 am
Me dejaron hacer este programa:

1) Codifique la interfaze implementación de la clase Complejo para definir un numero complejo y realizar las operaciones aritmeticas sobre numeros complejos, siga el diseño de la clase.
2) cree un objeto complejo y compruebe el funcionamiento del mismo.

Complejo.
-real:Float
-imaginario:float
+Complejo(real: flotante,imaginario: flotante)
+obtenerReal(void): float
+obtenerImaginario(void): float
+suma(sumando1: complejo,sumando2: complejo): void
+resta(minuendo: complejo,sustraendo: complejo): void
+multiplicacion(multiplicando: complejo,multiplicador: complejo): void
+division(dividendo: complejo,divisor: complejo): void

lo que llevo de codigo
interfaz de la clase
Código:
//clases/complejo.h
/*Interfaz de la clase complejo*/

#ifndef complejo_H
#define complejo_H

class Complejo{
private:
    float real;
    float imaginario;
public:
    complejo(float real,float imaginario);
    float obtenerReal(void);
    float obtenerImaginario(void);
    void suma(float sum1,float sum2);
    void resta(float minuendo,float sustraendo);
    void multiplicacion(float multiplicando,float multiplicador);
    void division(float dividendo,float divisor);};
#endif // complejo_H

implementacion de la clase

Código:
//clases/complejo.cpp
/*
**Implementación de la clase complejo.*/

#include <iostream>
#include "complejo.h"
using std::cout;
using std::endl;

Complejo::complejo(float real,float imaginario){
    this->real=real;
    this->imaginario=imaginario;}
float Complejo::obtenerReal(void){
    return 1;}
float Complejo::obtenerImaginario(void){
    return imaginario;}
void Complejo::suma(float sum1,float sum2){
    real=sum1;
    imaginario=sum2;;
    cout<<"La suma es: "<<sum1+sum2<<endl;}
void Complejo::resta(float minuendo,float sustraendo){
    real=minuendo;
    imaginario=sustraendo;
    minuendo-sustraendo;}
void Complejo::multiplicacion(float multiplicando,float multiplicador){
    real=multiplicando;
    imaginario=multiplicador;
    multiplicador*multiplicador;}
void Complejo::division(float dividendo,float divisor){
    real=dividendo;
    imaginario=divisor;
    dividendo/divisor;}

int main(void){
    Complejo h;
    h.obtenerReal();
    cout<<h.obtenerReal()<<endl;
    h.obtenerImaginario();
    return 0;
}


ayuda a terminarlo


Título: Re: clase Complejo para definir un numero complejo y realizar las operaciones
Publicado por: angeljonh en 1 Septiembre 2017, 04:21 am
Ya quedo, lo comparto

Código:
//clases/complejo.h
/*Interfaz de la clase complejo*/

#ifndef complejo_H
#define complejo_H

class Complejo{
private:
    float real;
    float imaginario;
public:
    Complejo(float _real,float _imaginario);//Constructor.
    float obtenerReal(void);
    float obtenerImaginario(void);
    void suma(float &real,float &imaginario);
    void resta(float &minuendo,float &sustraendo);
    void multiplicacion(float &multiplicando,float &multiplicador);
    void division(float &dividendo,float &divisor);};
#endif // complejo_H

Código:
//clases/complejo.cpp
/*
**Implementación de la clase complejo.*/

#include <iostream>
#include "complejo.h"
using std::cout;
using std::endl;

//Constructor.
Complejo::Complejo(float _real,float _imaginario){
    this->real=_real;
    this->imaginario=_imaginario;}

float Complejo::obtenerReal(void){
    cout<<"Numero real: "<<real<<endl;
    cout<<endl;
    return real;}

float Complejo::obtenerImaginario(void){
    cout<<"Numero imaginario: "<<imaginario<<endl;
    cout<<endl;
    return imaginario;}

void Complejo::suma(float &sum1,float &sum2){
    cout<<"La suma es: "<<real+imaginario<<endl;}

void Complejo::resta(float &minuendo,float &sustraendo){
    cout<<"La resta es: "<<real-imaginario<<endl;}

void Complejo::multiplicacion(float &multiplicando,float &multiplicador){
    cout<<"La multiplicacion es: "<<real*imaginario<<endl;}

void Complejo::division(float &dividendo,float &divisor){
    cout<<"La division es: "<<real/imaginario<<endl;}

int main(void){
    float x,y;
    Complejo h= Complejo(5,1);
    h.obtenerReal();
    h.obtenerImaginario();
    h.suma(x,y);
    h.resta(x,y);
    h.multiplicacion(x,y);
    h.division(x,y);
    return 0;
}