9/25/2016

Ejercicio 15

Elabore un algoritmo que lea un número negativo e imprima el número y el positivo del mismo.


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

using namespace std;

int main(void)
{
    // se crea un objeto de la clase Calcular (Instanciaciación) 
    Calcular *obj = new Calcular();

    // se define una variable llamada "n" de tipo entero 
    int n;

    /* utilizaremos el ciclo do-while en este ejercicio
     * el ciclo do-while se utiliza mucho cuando necesitamos pedir
     * cierta información y despues la tenemos que comprobar
     * si la expresion booleana es verdadera de lo contrario volvera
     * a repetir sus instrucciones.

     * en este caso se pedira el numero negativo, si el usuario escribe
     * un numero positivo, entonces volvera a repetir que digite un numero
     * negativo, hasta que no se digite el numero negativo no dejara de
     * repetir sus instrucciones. 
     */
    do
    {
        cout << "Digite un numero negativo: ";
        cin >> n;
    }
    while(n >= 0); // si el numero es mayor o igual que 0 repetira las instrucciones. 

    // encapsulamos el numero negativo 
    obj->setNum(n);

    // ahora mostraremos el numero negativo y positivo del mismo: 
    cout << "El numero negativo es: " << obj->getNum() << endl;
    cout << "El numero positivo es: " << obj->positivo() << endl;
}
     

#ifndef CALCULAR_H
#define CALCULAR_H

class Calcular
{
    public:
        Calcular();
        virtual ~Calcular();

        // se definen los metodos publicos: 
        int positivo(); // el metodo "positivo" de tipo entero 

        // se definen los metodos para encapsular el atributo "num" 
        void setNum(int val);
        int getNum();
    protected:

    private:
        // se definen el atributo privado "num" de tipo entero 
        int num;
};

#endif // CALCULAR_H
     

#include "Calcular.h"

Calcular::Calcular()
{
    // se le asigna a num el valor de 0, en el constructor
    // de la clase Calcular 
    num = 0;
}

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

// implementación del metodo para calcular el numero positivo 
int Calcular::positivo()
{
    return -1*num;
}


// implementacion de los metodos Getters y Setters del atributo
// num (encapsulamiento). 
void Calcular::setNum(int val)
{
    // al atributo num se le asigna la variable val 
    num = val;
}

int Calcular::getNum()
{
    // se retorna el atributo num; 
    return num;
}
     

// 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 crea un objeto de la clase Calcular (Instanciaciación) 
        Calcular obj = new Calcular();
        
        // se define una variable llamada "n" de tipo entero 
        int n;

        /* utilizaremos el ciclo do-while en este ejercicio
         * el ciclo do-while se utiliza mucho cuando necesitamos pedir
         * cierta información y despues la tenemos que comprobar
         * si la expresion booleana es verdadera de lo contrario volvera
         * a repetir sus instrucciones.

         * en este caso se pedira el numero negativo, si el usuario escribe
         * un numero positivo, entonces volvera a repetir que digite un numero
         * negativo, hasta que no se digite el numero negativo no dejara de
         * repetir sus instrucciones. 
         */
        do
        {
            // se convierte la variable n a Entero porque como vamos a utilizar el showInputDialog, este
            // metodo convertira la varible a String, es por eso que necesitamos convertirla a entero (int) 
            n = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite un numero negativo: "));
        }
        while(n >= 0);//si el numero es mayor o igual que 0 repetira las instrucciones. 

        // encapsulamos el numero negativo 
        obj.setNum(n);

        // ahora mostraremos el numero negativo y positivo del mismo: 
        JOptionPane.showMessageDialog(null,"El numero negativo es: " + obj.getNum());
        JOptionPane.showMessageDialog(null,"El numero positivo es: " + obj.positivo());
    }
}
     

public class Calcular
{
    // se define el atributo privado "num" de tipo entero 
    private int num;
    
    // se define e implementa el metodo para calcular el numero positivo 
    int positivo()
    {
        return -1*num;
    }

    // implementacion de los metodos Getters y Setters del atributo
    // num (encapsulamiento). 
    void setNum(int val)
    {
        // al atributo num se le asigna la variable val 
        num = val;
    }
    
    int getNum()
    {
        // se retorna el atributo num; 
        return num;
    }
}