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;
}
}