elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema ejercicio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema ejercicio  (Leído 3,050 veces)
overxfl0w13

Desconectado Desconectado

Mensajes: 163



Ver Perfil WWW
Problema ejercicio
« en: 29 Junio 2012, 14:50 pm »

Buenas, me he puesto a hacer un ejercicio para practicar y la verdad es que se me ha enrevesado un poco, no sé porque.

El ejercicio consiste en crear una clase y sus métodos para que este programa logre funcionar:

Código
  1. #include <iostream>
  2. #include "Fraccion.hpp"
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. Fraccion f1(1.0,4.0);
  8. Fraccion f2(1.0,2.0);
  9. Fraccion f3;
  10. Fraccion f4(4);
  11. Fraccion suma = f1.Suma(f2);
  12. Fraccion resta = f1.Resta(f3);
  13. Fraccion producto = f1.Multiplica(f4);
  14. Fraccion cociente = f1.Divide(f2);
  15. cout << "Primera Fraccion: " << f1.Prt() << endl;
  16. cout << "Segunda Fraccion: " << f2.Prt() << endl;
  17. cout << "Tercera Fraccion: " << f3.Prt() << endl;
  18. cout << "Cuarta Fraccion: " << f4.Prt() << endl;
  19. cout << "Suma " << suma.Prt() << endl;
  20. cout << "Resta " << resta.Prt() << endl;
  21. cout << "Producto " << producto.Prt() << endl;
  22. cout << "Cociente " << cociente.Prt() << endl;
  23. return 0;
  24. }
  25.  

Vale, hasta ahí bien, esta es la clase que he creado, junto con sus métodos:

Código
  1. class Fraccion
  2. {
  3. public:
  4. Fraccion(float numerador,float denominador);
  5. ~Fraccion();
  6. int Suma(Fraccion objeto);
  7. int Resta(Fraccion objeto);
  8. int Multiplica(Fraccion objeto);
  9. int Divide(Fraccion objeto);
  10. float Prt() const;
  11. private:
  12. float fraccion,resultado;
  13. };
  14.  
  15.  
  16. Fraccion::Fraccion(float numerador = 0.0,float denominador = 1.0)
  17. {
  18. fraccion = numerador / denominador;
  19. resultado = numerador / denominador;
  20. }
  21.  
  22. Fraccion::~Fraccion(){}
  23.  
  24. int Fraccion::Suma(Fraccion objeto)
  25. {
  26. this->resultado = this->fraccion + objeto.fraccion;
  27. return 0;
  28. }
  29.  
  30. int Fraccion::Resta(Fraccion objeto)
  31. {
  32. this->resultado = this->fraccion - objeto.fraccion;
  33. return 0;
  34. }
  35.  
  36. int Fraccion::Multiplica(Fraccion objeto)
  37. {
  38. this->resultado = this->fraccion * objeto.fraccion;
  39. return 0;
  40. }
  41.  
  42. int Fraccion::Divide(Fraccion objeto)
  43. {
  44. this->resultado = this->fraccion / objeto.fraccion;
  45. return 0;
  46. }
  47.  
  48. float Fraccion::Prt() const
  49. {
  50. return this->resultado;
  51. }
  52.  

Muy posiblemente el error esté en las variables porque me he hecho un lío con ambas y no obtengo la salida esperada.

Un saludo y gracias de antemano :)


En línea

[/url]
do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Problema ejercicio
« Respuesta #1 en: 29 Junio 2012, 17:51 pm »

¡Buenas!

Estas devolviendo cero para todas las operaciones.

¡Saludos!


En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
overxfl0w13

Desconectado Desconectado

Mensajes: 163



Ver Perfil WWW
Re: Problema ejercicio
« Respuesta #2 en: 29 Junio 2012, 20:41 pm »

¡Buenas!

Estas devolviendo cero para todas las operaciones.

¡Saludos!

He establecido como int los métodos porque void no me los acepta y no sé porque, por eso retornan 0, creo que por eso no será no?

Gracias por la respuesta :)
En línea

[/url]
do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Problema ejercicio
« Respuesta #3 en: 29 Junio 2012, 23:45 pm »

Código
  1. Fraccion suma = f1.Suma(f2);
  2. Fraccion resta = f1.Resta(f3);
  3. Fraccion producto = f1.Multiplica(f4);
  4. Fraccion cociente = f1.Divide(f2);
  5.  

Si cada uno de estos metodos esta devolviendo cero, estas asignando cero a cada una de las variables.

Siempre puedes devolver una referencia al objeto que invoca a las funciones:
Código
  1. return *this;
  2.  
En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
overxfl0w13

Desconectado Desconectado

Mensajes: 163



Ver Perfil WWW
Re: Problema ejercicio
« Respuesta #4 en: 30 Junio 2012, 11:43 am »

Código
  1. Fraccion suma = f1.Suma(f2);
  2. Fraccion resta = f1.Resta(f3);
  3. Fraccion producto = f1.Multiplica(f4);
  4. Fraccion cociente = f1.Divide(f2);
  5.  

Si cada uno de estos metodos esta devolviendo cero, estas asignando cero a cada una de las variables.

Siempre puedes devolver una referencia al objeto que invoca a las funciones:
Código
  1. return *this;
  2.  

Aaaah vale ya pillo el fallo, muchas gracias do-while :)
En línea

[/url]
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con un ejercicio
Programación C/C++
gabyricardo92 6 2,911 Último mensaje 10 Julio 2013, 15:52 pm
por eferion
Problema con ejercicio de php
Desarrollo Web
T0p1t0 1 2,326 Último mensaje 19 Julio 2013, 15:39 pm
por T0p1t0
[C] Problema con ejercicio « 1 2 3 »
Programación C/C++
dmacias 25 8,919 Último mensaje 27 Febrero 2014, 15:42 pm
por dmacias
[Solucionado] Problema en un Ejercicio de C++ « 1 2 »
Programación C/C++
Mario Olivera 12 9,357 Último mensaje 19 Julio 2014, 05:14 am
por engel lex
[Solucionado] Problema en un Ejercicio de C++
Programación C/C++
Mario Olivera 5 4,724 Último mensaje 31 Julio 2014, 18:41 pm
por Mario Olivera
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines