#include <math.h>
#include <stdio.h>
/* Procedimento utilizado no programa,
este tem como característica o fato de
não retornar nenhum valor*/
void Mensagem();
void Classificacao(int l1, int l2, int l3);
void Area(int l1, int l2, int l3);
// Autor: Mathias Santos Assis
main(){
int L1,L2,L3;
printf("L1..: ");
scanf("%d",&L1);
printf("L2..: ");
scanf("%d",&L2);
printf("L3..: ");
scanf("%d",&L3);
// Verificando se o triângulo realmente existe
if (L1+L2>L3){
if (L2+L3>L1){
if (L1+L3>L2){
printf("\nTriangulo: ");
Classificacao(L1,L2,L3);
Area(L1,L2,L3);
/* Caso o triângulo não exista é
exibida uma mensagem de erro*/
} else Mensagem();
} else Mensagem();
} else Mensagem();
system("pause");
}
// Mensagem de erro
void Mensagem(){
printf("Nao existe triangulo\n");
}
// Classificando um triângulo quanto aos seus lados
void Classificacao(int l1, int l2, int l3){
// Três lados iguais: Triângulo equilátero
if ((l1==l2)&&(l2==l3))
printf("Equilatero");
else
// Dois lados iguais e um diferente: Triângulo isósceles
if ((l1==l2)||(l2==l3)||(l1==l3))
printf("Isosceles");
// Três lados diferentes: Triângulo escaleno
else
printf("Escaleno");
printf("\n");
}
// Calculando a área do triângulo em função dos seus lados
void Area(int l1, int l2, int l3){
double p = (l1+l2+l3)/2;
double S = sqrt(p*(p-l1)*(p-l2)*(p-l3));
printf("Area: %4.2f\n\n",S);
}
Palavras-Chaves: Lados, Triângulo, Condição de existência, Classificação quanto aos seus lados, área.
Artigos relacionados em C/C++:
- Adivinhando um número em C/C++
- Programa com operações matemáticas C/C++
- Calculando a média de três notas em C/C++
- Programa com todos os comandos em C/C++
- Desejando Feliz dia do amigo em C/C++
- Volume de uma pirâmide em C/C++
- União, Intersecção e Diferença de dois vetores em C/C++
Feito no Dev C++ 4.9.9.2 | Executável |