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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


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


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Calculadora ayuda Solucionado
« en: 26 Enero 2014, 03:13 am »

//clase de encabezado

#ifndef OPERACIONES_H
#define OPERACIONES_H

class Operaciones
{
    private:
        double numero1, numero2;
        
    public:
        void setNumero1(double);
        void setNumero2(double);
        double getNumero1();
        double getNumero2();
        
        //Otras funciones
        double getSuma();
        double getResta();
        double getMultiplicacion();
        double getDivision();
};

#endif

///////////////////////////////////////////////////////////////////
//Clase de implementacion

#include "Operaciones.h"
#include <iostream>

using namespace std;

void Operaciones::setNumero1(double num1)
{
    numero1 = num1;
}

void Operaciones::setNumero2(double num2)
{
    numero2 = num2;
}

double Operaciones::getNumero1()
{
    return numero1;
}

double Operaciones::getNumero2()
{
    return numero2;
}

////////////////////////////////////////////////////////
//Otras funciones
////////////////////////////////////////////////////////

double Operaciones::getSuma()
{
    return numero1+numero2;
}

double Operaciones::getResta()
{
    return numero1-numero2;
}

double Operaciones::getMultiplicacion()
{
    return numero1*numero2;
}

double Operaciones::getDivision()
{
    if (numero2 = 0)
    {
        cout << "La divicion entre ceros no es valida\n";
    }
    else
    return numero1/numero2;
}

////////////////////////////////////////////////////////////
// clase principal


#include "Operaciones.h"
#include "Operaciones.cpp"
#include <iostream>
#include <stdlib.h>

void menu();
void Operacion(int);

int main()
{
    menu();
    system("pause");
    return 0;
}

void menu()
{
    Operaciones OperacionesOb;
    int opcion;
    double numero1, numero2;
    
    while(opcion !=5)
    {
        system("cls");
        cout << "1. suma\n"
             << "2. resta\n"
             << "3. Multiplicacion\n"
             << "4. division\n"
             << "5. salir\n"
             << "Elija una opcion: ";
             cin >> opcion;
            
        switch(opcion)
        {
            case 1:
                system("cls");
                Operacion(1);
                system("pause");
                break;
                
            case 2:
                system("cls");
                Operacion(2);
                system("pause");
                break;
            
            case 3:
                system("cls");
                Operacion(3);
                system("pause");
                break;
            
            case 4:
                system("cls");
                Operacion(4);
                system("pause");
                break;
            
            case 5:
                break;
                
            default:
                
                cout << "La Opcion es incorrecta.\n";
                system("pause");
                break;
            
        }
    }
}

void Operacion(int a)
{
    Operaciones OperacionesOb;
    double numero1, numero2;
    
    cout << "Ingrese el primer numero: ";
    cin >> numero1;
    
    cout << "Ingrese el segundo numero: ";
    cin >> numero2;
    
    OperacionesOb.setNumero1(numero1);
    OperacionesOb.setNumero2(numero2);
    
    if(a==1)
    {
        cout << "La suma es: " << OperacionesOb.getSuma() << "\n";
    }
    else if (a ==2)
    {
        cout << "La Resta es: " << OperacionesOb.getResta() << "\n";
    }
    else if (a ==3)
    {
        cout << "La Multiplicacion es: " << OperacionesOb.getMultiplicacion() << "\n";
    }
    else if(a ==4)
    {
        cout << "La Division es: " << OperacionesOb.getDivision() << "\n";
    }
}


Hola, en lo que necesito ayuda es que no quisiera estar repitiendo la función de operación, solo deseo que esta función reciba una vez los datos dependiendo de la operación que se desee y que me la retorne con la función getSuma o la resta según su operación.

Pero cuando pongo el getSuma en el switch la respuesta es un número muy alto.

No sé cómo hacer eso saludos y gracias.

PD: en pocas palabras por si no me entienden lo que quiero es no estar repitiendo la función Operación.


« Última modificación: 26 Enero 2014, 06:16 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Calculadora ayuda
« Respuesta #1 en: 26 Enero 2014, 05:18 am »


Desactivando los include de Operaciones.h y Operaciones.cpp y poniendo la barra invertida "\" al final de las estrellitas el código funciona correctamente.

¿Podrías concretar menor la duda y/o problema que tienes?


¡¡¡¡ Saluditos! ..... !!!!




En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Calculadora ayuda
« Respuesta #2 en: 26 Enero 2014, 05:29 am »

Primero que nada gracias por contestar.

1. lo de los comentarios solo era para separar las clases y el archivo de encabezado.
    y que ustedes supieran donde empieza cada una.

2. Si te fijas tengo que declarar una función para cada operación. Las cuales solo he hecho Operación -> para la suma y Operacion1 -> para la resta.

3. lo que deseo es hacer una solo función que reciba dos número. Y los reciban las funciones respectivamente como las getSuma para la suma, getResta para la resta, ..... Sin necesidad de estar creando una función para cada operación.

4. Los includes no se pueden desactivar ya que entonces la principal no sabría a donde mandar los datos el chiste de programar en clases es ese. Recuerda que los get y los set deben de recibir los valores de la principal procesarlos y devolverlos.
« Última modificación: 26 Enero 2014, 05:35 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: Calculadora ayuda
« Respuesta #3 en: 26 Enero 2014, 05:32 am »

Utiliza punteros a funciones...
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Calculadora ayuda
« Respuesta #4 en: 26 Enero 2014, 05:36 am »

Podrías darme algún ejemplo amigo.

O la sintaxis de cómo hacerlo más o menos.

Saludos y gracias por contestar.
En línea

Lo que se puede imaginar... se puede programar.
dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: Calculadora ayuda
« Respuesta #5 en: 26 Enero 2014, 05:44 am »

Hola mira para no tener que escribirte todo el codigo devuelta con punteros a funciones , xq no le pasas un valor a la funcion Operacion...

Por ejemplo... Operacion(1) =suma,Operacion(2)=resta y asi sucesivamente. Entonces en la funcion operacion checkeas que numero se paso y cambias el resultado dependiendo de eso , se entiende?
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Calculadora ayuda
« Respuesta #6 en: 26 Enero 2014, 05:46 am »

Pruebo y te respondo gracias por la ayuda.
En línea

Lo que se puede imaginar... se puede programar.
dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: Calculadora ayuda
« Respuesta #7 en: 26 Enero 2014, 05:51 am »

Esta es la idea..

void Operacion(int)

void Operacion(int a)
{
    Operaciones OperacionesOb;
    double numero1, numero2;
   
    cout << "Ingrese el primer numero: ";
    cin >> numero1;
   
    cout << "Ingrese el segundo numero: ";
    cin >> numero2;
   
    OperacionesOb.setNumero1(numero1);
    OperacionesOb.setNumero2(numero2);
    if(a==1){
    cout << "La suma es: " << OperacionesOb.getSuma() << "\n";
    }
    else if(a==2)
     {
   cout << "La resta es: " << OperacionesOb.getResta() << "\n";
      } else if ....   
}


y en el switch pasas el valor , por ejemplo case 1: Operacion(1) y asi sucesivamente.

Es una solucion a lo que pedias , seguro que no es la mas optima a este problema.
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Calculadora ayuda
« Respuesta #8 en: 26 Enero 2014, 05:56 am »

Ya capte una vez lo termine y lo deje bien lo comento acá y pongo solucionado.

Mil gracias y a medida lo mejore lo modificare mil gracias por ayudarme.

PD: Créeme se agradece la ayuda.
En línea

Lo que se puede imaginar... se puede programar.
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Calculadora ayuda
« Respuesta #9 en: 26 Enero 2014, 06:05 am »

Funcionoooooooo!!!!!!!!!

aah gracias no se me había ocurrido eso gracias enserio ya corrijo el código.
 
buscare una mejor solucion gracias. saludos jednak
« Última modificación: 26 Enero 2014, 06:31 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con calculadora
Multimedia
fitipal 6 2,630 Último mensaje 10 Junio 2005, 16:35 pm
por fitipal
ayuda con calculadora en vb « 1 2 »
Programación Visual Basic
tisan77 11 3,619 Último mensaje 28 Octubre 2005, 02:05 am
por Leoj90
Ayuda calculadora.
Programación Visual Basic
Goldmoon 7 3,607 Último mensaje 27 Diciembre 2007, 17:36 pm
por Goldmoon
Ayuda con calculadora
Java
painkillerpucela 3 2,893 Último mensaje 19 Diciembre 2008, 21:40 pm
por Sk9ITk5Z
ayuda con una calculadora
Programación Visual Basic
andrer03 3 2,121 Último mensaje 16 Enero 2009, 16:38 pm
por andrer03
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines