Hola, como estan amigos , veran tengo un problema que consiste en: Un programa donde se introduzcan numero de lados, area y perimetro y detecte a que figura geometrica corresponde: Circulo, triangulo, rectangulo, cuadrado, trapecio o rombo. He estado batallando para saber si es un rectangulo y el trapecio los otros creo que yo que ya estan bien pero aun asi no se como realizar el rectangulo y trapecio podria poner perimeto/2 - b = a y despues usar la formula del area
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float numeroLados, perimetro, area, ladoCuadrado, perimetroCuadrado, baseRombo, alturaRombo, a, b, ladosRectangulo;
cout<<"Introduce el numero de lados de tu figura: "<<endl;
cin>>numeroLados;
cout<<"Introduce el perimetro de la figura: " <<endl;
cin>>perimetro;
cout<<"Introduce el area de la figura: "<<endl;
cin>>area;
ladoCuadrado = sqrt(area);
perimetroCuadrado = (perimetro / 4.0f);
baseRombo = (perimetro / 4.0f);
alturaRombo = (area / baseRombo );
if(numeroLados == 3)
{
cout<<"Es un triangulo";
}
else if (numeroLados == 0)
{
cout<<"Es un circulo";
}
else if ((numeroLados == 4) && (ladoCuadrado == perimetroCuadrado) )
{
cout<<"Es un cuadrado";
} else {
cout<<"Introduce un numero de lados valido";
}
if((numeroLados == 4) && (baseRombo * alturaRombo == area))
{
cout<<"Es un rombo";
}else if(numeroLados == 4)
{
cout<<"Es trapecio";
}
return 0;
}
No sé de dónde habrás sacado tal ejercicio pero mi respuesta después de haberle dado algunas vueltas es que no puedes encontrar una solución con esos datos. Para ello lo único que voy a hacer es ponerte un ejemplo...
Datos:
numeroLados = 4
perimetro = 20
area = 24
Solución: (Soluciones más bien :rolleyes:)
Rectangulo con base = 6 y altura = 4 (o viceversa)
Rombo con base (lado) = 5 y altura = 4.8
Puedes comprobarlo con las fórmulas... Ambas soluciones satisfacen todas las condiciones por lo que sólo con esos datos es imposible diferenciar si la figura en cuestión es un rectángulo o un rombo.
Revisa el ejercicio ya que puede que te hayas dejado alguna condición como otro dato más o que los valores sólo puedan ser enteros o algo por el estilo. O que la solución englobe al rectángulo y rombo dentro de la misma opción, es decir, distinguir entre: cuadrado, rectángulo/rombo, trapecio.