9/27/2016

Ejercicio 17

Dado el radio de un círculo. Haga un algoritmo que obtenga el área del círculo y la longitud de la circunferencia.


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

using namespace std;

int main(void)
{
    // se crea un objeto de la clase Circulo (Instanciaciación) 
    Circulo* obj = new Circulo();
    float r; // se define una variable llamada "r" de tipo entero 
    cout << "Digite radio del circulo:" << endl; // se pide el radio 
    cin >> r; // se guarda el radio en la variable r 
    obj->setRadio(r); // se encapsula la variable r 

    // se muestra el area y  luego la longitud del circulo 
    cout << "El area es: " << obj->area() << endl;
    cout << "La longitud es: " << obj->longitud() << endl;
}
     

#ifndef CIRCULO_H
#define CIRCULO_H

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

        // se definen los atributos publicos: 
        float area(); // area de tipo float 
        float longitud(); // longitud de tipo float 

        // se definen los metodos Setters y Getters del atributo radio (Encapsulamiento) 
        void setRadio(float val);
        float getRadio();
    protected:

    private:
        // se define el atributo privado "radio" de tipo float 
        float radio;
};

#endif // CIRCULO_H
     

#include "Circulo.h"

Circulo::Circulo()
{
    // le asignamos por defecto 0 a la varible radio en el constructor de la clase 
    radio = 0;
}

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

// implementación del metodo area del circulo 
float Circulo::area()
{
    // la formula para calcular el area de un circulo es muy sencilla, solo hay que
    // multiplicar PI por el radio elevado a la 2 (PI*r^2). 
    return 3.1416 * (radio * radio);//se retorna el resultado 
}
// implementacion del metodo longitud del circulo 
float Circulo::longitud()
{
    // la formula es la siguiente multiplicamos 2 por PI por el radio (2*PI*r). 
    return 2 * 3.14 * radio; // retornamos el resultado. 
}

// implementacion de los metodos Setters y Getters del atributo radio. 
void Circulo::setRadio(float val)
{
    // se asigna a radio val 
    radio = val;
}

float Circulo::getRadio()
{
    // se retorna radio 
    return radio;
}
     

// 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 Circulo (Instanciaciación) 
        Circulo obj = new Circulo();
        // se pide y se guarda el radio en "r", se convirtira a double con el metodo parseDouble(), ya que el metodo showInputDialog lo
        // convertira a String. 
        double r = Double.parseDouble(JOptionPane.showInputDialog(null, "Digite radio del circulo:"));
        
        obj.setRadio(r); // se encapsula la variable r

        // se muestra el area y  luego la longitud del circulo 
        JOptionPane.showMessageDialog(null, "El area es: " + obj.area());
        JOptionPane.showMessageDialog(null, "La longitud es: " + obj.longitud());
    }
}
     

public class Circulo
{
    // se define el atributo privado "radio" de tipo double 
    private double radio;
    
    // implementación del metodo area del circulo 
    public double area()
    {
        // la formula para calcular el area de un circulo es muy sencilla, solo hay que
        // multiplicar PI por el radio elevado a la 2 (PI*r^2). 
        return 3.14 * (radio * radio); // se retorna el resultado 
    }
    
    // implementacion del metodo longitud del circulo 
    public double longitud()
    {
        // la formula es la siguiente multiplicamos 2 por PI por el radio (2*PI*r). 
        return 2 * 3.14 * radio;//retornamos el resultado. 
    }
    
    // implementacion de los metodos Setters y Getters del atributo radio. 
    public void setRadio(double val)
    {
        // se asigna a radio val 
        radio = val;
    }

    public double getRadio()
    {
        // se retorna radio 
        return radio;
    }
}