EJERCICIO B (POO SECC.03)

Luis Mata (31483465) Eudis Serrano (3177648) Mantener el zoom de el sitio web entre 67-75% para apreciar bien las lineas de codigo.
 avatar
unknown
c_cpp
14 days ago
3.3 kB
7
Indexable
#include <iostream>
using namespace std;
// Declaracion de clases
class Operacion
{
protected:
    int valor1;
    int valor2;
    int resultado;

public:
    Operacion(int valor1 = 0, int valor2 = 0);
    int cargar1();
    int cargar2();
    int mostrarresultado();
};
class Suma : public Operacion
{
public:
    Suma(int v1 = 0, int v2 = 0) : Operacion(v1, v2) {}
    void operar();
    int mostrarresultado();
};
class Resta : public Suma
{
public:
    Resta(int v1 = 0, int v2 = 0) : Suma(v1, v2) {}
    void operar();
    int mostrarresultado();
};

// Definicion del miembro constructor de la clase base Operacion
Operacion::Operacion(int v1, int v2)
{
    valor1 = v1;
    valor2 = v2;
}

// Definicion de los objetos de la clase Operacion
int Operacion::cargar1()
{
    cout << "Ingrese el valor 1: " << endl;
    cin >> valor1;
    return valor1;
}
int Operacion::cargar2()
{
    cout << "Ingrese el valor 2: " << endl;
    cin >> valor2;
    return valor2;
}
int Operacion::mostrarresultado()
{
    cout << "El resultado de la operacion es: " << resultado << endl;
    return resultado;
}

// Definicion de los objetos de la clase Suma
void Suma::operar()
{
    resultado = valor1 + valor2;
}
int Suma::mostrarresultado()
{
    cout << "La sumatoria de los valores es: " << resultado << endl;
    return resultado;
}

// Definicion de los objetos de la clase Resta
void Resta::operar()
{
    resultado = valor1 - valor2;
}
int Resta::mostrarresultado()
{
    cout << "La resta de los valores es: " << resultado << endl;
    return resultado;
}

// Flujo Principal
int main()
{
    int valor1, valor2;
    Operacion operacion;
    Suma suma;
    Resta resta;
    char opc, salir;
    cout << "Buenos dias, bienvenido a un programa para sumar y restar!\n";
    do
    {
        do
        {
            cout << "\nPorfavor, indique si la operacion a realizar sera una suma o una resta... (S: Suma / R: Resta)" << endl;
            cin >> opc;
            if (opc != 'R' && opc != 'S' && opc != 'r' && opc != 's')
            {
                cout << "\nPorfavor indique una de las opciones que permite el programa...\n";
            }
        } while (opc != 'R' && opc != 'S' && opc != 'r' && opc != 's');

        if (opc == 'S' || opc == 's')
        {
            cout << "\nUsted ha elegido realizar una operacion de suma, indique los dos valores a sumar:\n";
            suma.cargar1();
            suma.cargar2();
            suma.operar();
            cout << "\nOperacion realizada de forma exitosa!\n";
            suma.mostrarresultado();
        }
        else if (opc == 'R' || opc == 'r')
        {
            cout << "\nUsted ha elegido realizar una operacion de resta, indique los dos valores a restar:\n";
            resta.cargar1();
            resta.cargar2();
            resta.operar();
            cout << "\nOperacion realizada de forma exitosa!\n";
            resta.mostrarresultado();
        }

        cout << "\n¿Usted quiere seguir con el programa?... (S: Si / N: No)" << endl;
        cin >> salir;

    } while (salir != 'N' && salir != 'n');
    cout << "\nUn gusto haberte ayudado a sumar y a restar valores, adios!";
    return 0;
}
Leave a Comment