Você está na página 1de 2

Triangulo 2 teste em c

#include <stdio.h> //biblioteca para manipulação de


entrada/saida
#include <stdlib.h> //biblioteca para usarmos EXIT_SUCCESS

/*as constantes do tipo enum são inteiras e seu valor começa do


zero (o tipo enum é mais consistente que o tipo const,
pois diminue as chances de referências a valores não
existentes.*/

enum TiposT{naoTriangulo, equilatero, isosceles, escaleno};

enum Verificacao{falso, verdadeiro};

//verifica se os lados informados atendem à condição de


existência de um triângulo (ver pré-requisitos)
enum Verificacao ETriangulo(int lado1, int lado2, int lado3)
{ //retorna um dos valores da enumeração Verificacao
if((abs(lado2-lado3) < lado1 && lado2+lado3 > lado1) &&
(abs(lado1-lado3) < lado2 && lado1+lado3 > lado2) &&
(abs(lado1-lado2) < lado3 && lado1+lado2 > lado3)){

return verdadeiro;
}
return falso;

// para o operador ternário: a? b : c se a é veradeira, executa


b, se não, executa c
enum TiposT TipoTriangulo(int lado1, int lado2, int lado3){
//retorna um dos valores da enumeração TiposT
return ETriangulo(lado1, lado2, lado3)? (lado1 == lado2
&& lado2 == lado3)? equilatero :
(lado1 == lado2
|| lado1 == lado3 || lado2 == lado3)? isosceles :
(lado1!= lado2
&& lado2 != lado3 && lado1!= lado3)? escaleno : naoTriangulo :
naoTriangulo;
}

int main()
{
int lado1, lado2, lado3;

printf("informe os lados do triangulo: ");


scanf("%d%d%d", &lado1, &lado2, &lado3); //grava 3 números
inteiros nos endereços das variaveis em questão, na ordem em que
foram informados

int resultado = TipoTriangulo(lado1, lado2, lado3); //o tipo


de triangulo será gravado na variável inteira resultado

// de acordo com o triangulo armazenado na variável


resultado, imprime qual é o tipo de triângulo.
if(resultado == equilatero) printf("\nTRIANGULO
EQUILATERO");
if(resultado == isosceles) printf("\nTRIANGULO ISOSCELES");
if(resultado == escaleno) printf("\nTRIANGULO ESCALENO");
if(resultado == naoTriangulo) printf("\nNAO E TRIANGULO");

return EXIT_SUCCESS;
}

Você também pode gostar