//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.