9/23/2016

Ejercicio 13

Escriba un algoritmo que, dados dos valores A y B, encuentre:
A - B
A + B
A * B
A / B


#include <iostream>
// se incluye a la clase Operacion para llamar despues sus metodos. 
#include <Operacion.h>

using namespace std;

int main(void)
{
    // se crean las varibles va(valor de A) y vb
    // (valor de B) de tipo float que seran las variables
    // que iran como argumentos o parametros en los metodos
    // de encapsulamiento. 
    float va,vb;

    // se crea un objeto de la clase Operacion (Instanciaciaci贸n) 
    Operacion *obj = new Operacion();

    cout << "Digite A" << endl;// se muestra en patalla que digite.
                               //el valor de A. 
    cin >> va;// se guarda el dato de "A" en la variable "va". 
    obj->setA(va);// se llama al metodo que encapsula el valor de A
    // y se le asigna como parametro la variable va. 

    cout << "Digite B" << endl;// se muestra en patalla que digite.
    // el valor de B. 
    cin >> vb;//Se guarda el dato de "B" en la variable "vb". 
    obj->setB(vb);//Se llama al metodo que encapsula el valor de B
    // y se le asigna como parametro la variable vb. 

    // se llaman a los metodos getA(), getB, suma() y son mostrados en pantalla 
    cout << "La suma de " << obj->getA() << " + " << obj->getB() << " = " << obj->suma() << endl;

    // se llaman a los metodos getA(), getB, resta() y son mostrados en pantalla 
    cout << "La resta de " << obj->getA() << " - " << obj->getB() << " = " << obj->resta() << endl;

    // se llaman a los metodos getA(), getB, multiplicacion() y son mostrados en pantalla 
    cout << "La multiplicacion de " << obj->getA() << " * " << obj->getB() << " = " << obj->multiplicacion() << endl;

    // se llaman a los metodos getA(), getB, division() y son mostrados en pantalla 
    cout << "La division de " << obj->getA() << " / " << obj->getB() << " = " << obj->division() << endl;
}
     

#ifndef OPERACION_H
#define OPERACION_H


class Operacion
{
    public:
        Operacion();// metodo constructor 
        virtual ~Operacion();// metodo destructor 

        // se definen los metodos publicos 
        int suma();// suma de tipo entero 
        int resta();// resta de tipo entero 
        int multiplicacion();// multiplicacion de tipo entero 
        float division();// division de tipo float 

        // se definen los metodos Setters y Getters de los atributos a y b. (Encapsulamiento). 
        void setA(float val);
        float getA();
        void setB(float val);
        float getB();
    protected:

    private:
        // se definen los atributos privados 
        float a;// a de tipo float 
        float b;// b de tipo float 
        // se definen los dos varibles de tipo float
        // porque al momento de realizar la division
        // el resultado por lo general sera decimal. 
};

#endif // OPERACION_H 
     

#include "Operacion.h"

Operacion::Operacion()
{
    // en el contructor de la clase Operacion
    // se le asignaran los siguiente valores a los atributos: 
    a = 0;
    b = 0;
}

Operacion::~Operacion()
{
    //dtor 
}

// implementacion del metodo suma 
int Operacion::suma()
{
    return a + b;//s e retorna la operacion de a + b 
}

// implementacion del metodo resta 
int Operacion::resta()
{
    return a - b;// se retorna la operacion de a - b 
}

// implementacion del metodo multiplicaci贸n 
int Operacion::multiplicacion()
{
    return a * b;// se retorna la operacion de a * b 
}

// implementacion del metodo divisi贸n 
float Operacion::division()
{
    return a / b;//se retorna la operacion de a / b 
}

// implementacion de los metodos Setters y Getters


// al metodo modificador del atributo "a" se le asignara un parametro de tipo float. 
void Operacion::setA(float val)
{
    a = val;// se le asigna a "a" el valor de "val". 
}

// metodo selector del atributo "a" 
float Operacion::getA()
{
    return a;// retornara el valor de "a" 
}

// metodo modificador del atributo "b" se le asignara un parametro de tipo float. 
void Operacion::setB(float val)
{
    b = val;// se le asigna a "b" el valor de "val". 
}

// metodo selector del atributo "b" 
float Operacion::getB()
{
    return b;// retornara el valor de "b" 
}
     

// se importa paquete "JOptionPane" para dibujar un cuadro de dialogo en pantalla
// que muestre informaci贸n o para llenar informaci贸n. 
import javax.swing.JOptionPane;

public class Main
{
    public static void main(String[] args)
    {
        // se crean las varibles va(valor de A) y vb
        // (valor de B) de tipo float que seran las variables
        // que iran como argumentos o parametros en los metodos
        // de encapsulamiento. 
        float va,vb;

        // se crea un objeto de la clase Operacion (Instanciaciaci贸n) 
        Operacion obj = new Operacion();
        
        // se pide el dato "A" con el metodo showInputDialog que permite mostrar
        // un cuadro de dialog con una barra para ingresar el dato
        // se debe convertir a Float porque el metodo showInputDialog convertira
        // el dato que se ingrese a Strin, es por eso que se utiliza el metodo
        // parseFloat para convertirlo y asi poder realizar operaciones como
        // la suma, resta, ect. 
        va = Float.parseFloat(JOptionPane.showInputDialog(null, "Digita A"));
        obj.setA(va);// se llama al metodo setA() y se le asigna "va" 

        vb = Float.parseFloat(JOptionPane.showInputDialog(null, "Digita B"));
        obj.setB(vb);// se llama al metodo que encapsula el valor de B
                     // y se le asigna como parametro la variable vb. 

        // se llaman a los metodos getA(), getB, suma() y son mostrados en pantalla con el metodo
        //showMessageDialog() 
        JOptionPane.showMessageDialog(null, "La suma de " + obj.getA() + " + " + obj.getB() + " = " + obj.suma());

        // se llaman a los metodos getA(), getB, resta() y son mostrados en pantalla 
        JOptionPane.showMessageDialog(null, "La resta de " + obj.getA() + " - " + obj.getB() + " = " + obj.resta());

        // se llaman a los metodos getA(), getB, multiplicacion() y son mostrados en pantalla 
        JOptionPane.showMessageDialog(null, "La multiplicacion de " + obj.getA() + " * " + obj.getB() + " = " + obj.multiplicacion());

        // se llaman a los metodos getA(), getB, division() y son mostrados en pantalla 
        JOptionPane.showMessageDialog(null, "La division de " + obj.getA() + " / " + obj.getB() + " = " + obj.division());
    }

}
     

public class Operacion
{
    // se definen los atributos privados 
    private float a;// a de tipo float 
    private float b;// b de tipo float 
    // se definen los dos varibles de tipo float
    // porque al momento de realizar la division
    // el resultado por lo general sera decimal. 
    
    public Operacion()
    {
        // en el contructor de la clase Operacion se le asignaran los siguiente valores a
        // los atributos: 
        a = 0;
        b = 0;
    }

    // implementacion del metodo suma 
    public float suma()
    {
        return a + b;// se retorna la operacion de a + b 
    }

    // implementacion del metodo resta 
    public float resta()
    {
        return a - b;// se retorna la operacion de a - b 
    }

    // implementacion del metodo multiplicaci贸n 
    public float multiplicacion()
    {
        return a * b;// se retorna la operacion de a * b 
    }

    // implementacion del metodo divisi贸n 
    public float division()
    {
        return a / b;// se retorna la operacion de a / b 
    }

    // implementacion de los metodos Setters y Getters 贸
    // modificadores y selectores

    // metodo modificador del atributo "a" se le asignara un
    // parametro de tipo float. 
    public void setA(float val)
    {
        a = val;// se le asigna a "a" el valor de "val". 
    }

    // metodo selector del atributo "a"
    public float getA()
    {
        return a;// retornara el valor de "a" 
    }

    // metodo modificador del atributo "b" se le asignara un
    // parametro de tipo float. 
    public void setB(float val)
    {
        b = val;// se le asigna a "b" el valor de "val". 
    }

    // metodo selector del atributo "b" 
    public float getB()
    {
        return b;// retornara el valor de "b" 
    }
}