Triángulo según sus lados y ángulos

Rocío Aznar Gimeno

/* Este programa calcula a partir de la medida de sus lados, si un triángulo es escaleno, isósceles o equilátero. Además, da la posibilidad de calcular qué tipo de triángulo es según sus ángulos y el perímetro de dicho triángulo si se desea; para ello deberá escribir s ó S si lo desea y n ó N si no lo desea. Para calcular el perímetro utilizo un subprograma. Además si el triángulo es rectángulo saldrá por pantalla un triángulo rectángulo de asteriscos. */

#include <iostream>
using namespace std;
float perimetro(float a,float b,float c);
int main()
{
float a,b,c,x,y,z,p;
char d,s,S,n,N,e;
int i,j;

cout<<“Escriba la medida de los angulos del triangulo”<<endl;
cin>>a>>b>>c;
if(a>0&&b>0&&c>0) // las dimensione deben ser positivas
{
if(a+b>c && a+c>b && b+c>a)
{
if(a==b&&b==c)cout<<“El triangulo es equilatero”<<endl;//todos lados iguales
else if(a==b&&a!=c||a==c&&a!=b||b==c&&b!=a)cout<<“El triangulo es isosceles”<<endl;//dos lados iguales y otro distinto
else cout<<“El triangulo es escaleno”<<endl;//todos los lados desiguales
}
else cout<<“Los datos no corresponden con ningun triangulo”<<endl;
}
else
{cout<<“Los datos son erroneos”<<endl;
return 0;}

cout<<“¿Desea saber el tipo de triangulo que es segun sus angulos(s/n)?”<<endl;
cin>>d;
if(d==’s’||d==’S’)
{
cout<<“Escriba los angulos en grados del triangulo”<<endl;
cin>>x>>y>>z;
if(x>0&&y>0&&z>0) //angulos positivos
{
if(x+y+z==180)
{
if(x==90||y==90||z==90)
{
cout<<“El triangulo es ademas rectangulo”<<endl;//alguno de los angulos es de 90 grados
for(i=1; i<=5; i++)
{
for(j=1; j<=i; j++)
{
cout<<“*”;
}
cout<<endl;
}
}
else if(x<90&&y<90&&z<90)cout<<“El triangulo es ademas acutangulo”<<endl;//todos angulos son agudos
else cout<<“El triangulo es ademas obtusangulo”<<endl;//alguno de los angulos es obtuso
}
else cout<<“Los datos no corresponden a los de un triangulo”<<endl;//si la suma de los angulos no es 180 grados
}
else
{cout<<“Los datos son erroneos”<<endl;// valores negativos o el cero.
return 0;}
}
cout<<“¿Desea calcular el perimetro de dicho triangulo(s/n)?”<<endl;
cin>>e;
if(e==’s’||e==’S’)
{
p=perimetro(a,b,c);
cout<<“El perimetro de dicho triangulo es:”<<p<<endl;
}
else cout<<“FIN”<<endl;
return 0;
}

float perimetro(float a,float b, float c) //subprograma
{
if(a>0&&b>0&&c>0)
{
float w;
w=a+b+c;
return w;
}
else
{cout<<“No son correctos los datos”<<endl;
return -1;}
}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a Triángulo según sus lados y ángulos

  1. Observa las correcciones y mejoras hechas.. Recuerda que la condición múltiple de triángulo va con AND y no con OR.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s