Ir ao conteúdo
  • Cadastre-se

Programa para calcular area do triangulo


Lenny Ribeiro

Posts recomendados

Olá pessoal tenho ki desenvolver um programa em linguagem c que receba do teclado a medida dos 3 lados de um triangulo, que verifique a existencia do triangulo, e calcule a área.

CHEGO ATE aqui E NUM DA MAIS

:mad:

#include <stdio.h>

#include <conio.h>

int main()

{

float A,B,C;

printf("Digite o tamanho do lado A do triangulo: ");

scanf("%f",&A);

printf("Digite o tamanho do lado B do triangulo: ");

scanf("%f",&B);

printf("Digite o tamanho do lado C do triangulo: ");

scanf("%f",&C);

if(A < (B+C) & B < (A+C) & C < (A+B)) /* verifica se é um triangulo */

{

if(A==B & B==C) /* Não é preciso tantos testes */

printf("e um triangulo");

else if(A==B||A==C||B==C)

printf(" e um triangulo");

else

printf("e um triangulo");

area=(B*C)/2;

printf(“\n\nO valor da area do triangulo é igual a: %i\n\n”,area);

}

getch();

}

Link para o comentário
Compartilhar em outros sites

Você está esquecendo de algumas fórmulas no seu algoritmo. O algoritmo a seguir não é garantido que esteja correto, eu também não conheço bem sobre essas regras.

#include <math.h>
#include <stdio.h>

float descobre_altura(int a,int b,int c,int tipo);

void main()
{
int a,b,c;
float area,altura;
int tipo;

printf("Passe os lados do triangulo.\n");
scanf("%d %d %d",&a,&b,&c);

if((a < b + c) && (b < a + c) && (c < a + )
{
if((a == && (b == c))
{
tipo = 1;
printf("Triangulo equilatero.\n");
altura = descobre_altura(a,b,c,tipo);
area = (a * altura) / 2;
printf("Area do triangulo: %f.\n",area);
}
else if((a == || (a == c) || (b == c))
{
tipo = 2;
printf("Triangulo isosceles.\n");
altura = descobre_altura(a,b,c,tipo);
if(a ==
{
area = (c * altura) / 2;
}
else if(a == c)
{
area = (b * altura) / 2;
}
else
{
area = (a * altura) / 2;
}
printf("Area do triangulo: %f.\n",area);
}
else
{
tipo = 3;
printf("Triangulo escaleno.\n");
altura = descobre_altura(a,b,c,tipo);
area = altura;
printf("Area do triangulo: %f.\n",area);
}
}
}

float descobre_altura(int a,int b,int c,int tipo)
{
float altura;
int perimetro;

if(tipo == 1)
{
altura = (a * sqrt(3)) / 2;
}
else if(tipo == 2)
{
if(a ==
{
altura = sqrt(pow(a,2) - pow(c,2) / 4);
}
else if(a == c)
{
altura = sqrt(pow(a,2) - pow(b,2) / 4);
}
else
{
altura = sqrt(pow(b,2) - pow(a,2) / 4);
}
}
else
{
perimetro = a + b + c;
altura = sqrt(perimetro * (perimetro - a) * (perimetro - * (perimetro - c));
}

return(altura);
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!