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