Bom galera é u seguinte o meu prof. pediu para q criasemos um prog em C onde teriamos q :
1- Descobrir se 3 lados de retas formariam um triangulo !
Procurando no Google achei q para isso basta saber se 1 dos lados é menor q a soma dos outros 2 ( lado1 < lado2+lado3)
2 - Se as retas formam um triangulo calcular sua área !
Novamente no Google achei esta formula area = raiz quadrada de ( p * (p-lado1) * (p-lado2) * (p-lado3)) onde p é o semi-perimetro, ou seja, p= lado1+lado2+lado3/2
3- Apartir destes dados mostrar na tela se as retas formam um triangulo se sim mostrar na tela a area do triangulo, o semi-perimetro do msmO, e se ele é equilatero ( todos os lados iguais), isoceles (apenas 2 lados iguais), ou escaleno ( nenhum lado igual).
4- Apos o fim deste perguntar ao usuario se gostaria de recomeçar o programa !
Com isso consegui chegar a este codigo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
void main ()
{
float l1,l2,l3,p,area;
int cont;
do
{
clrscr();
printf("\nDigite o tamanho da 1ª reta:\n");
scanf("%0.2f",&l1);
printf("\nDigite o tamanho da 2ª reta:\n");
scanf("%0.2f",&l2);
printf("\nDigite o tamanho da 3ª reta:\n");
scanf("%0.2f",&l3);
if ( (l1 > l2+l3) || (l2 > l1+l3) || (l3 > l1+l2) )
printf("\nAs retas não formam um triangulo\n");
else
p = (l1+l2+l3)/3; // Calcula o semi perimetro
area = pow ( p * (p-l1) * (p-l2) * (p-l3) , 0.5); // Calcula a area do triangulo
printf(" \nO Semi-perimetro do triangulo é %0.2f\n",p);
printf(" \nA Area do triangulo é %0.2f\n",area);
if ( l1==l2==l3 )
printf(" \nO Triangulo é Equilatero \n");
else
if ( (l1==l2!=l3) || (l1==l3!=l2) || (l3==l2!=l1) )
printf(" \nO Triangulo é Isoceles\n");
else
if ( l1!=l2!=l3 )
printf(" \nO Triangulo é Escaleno\n");
printf("\n Tecle a opção desejada: \n1- Reiniciar \n2- Finalizar\n");
scanf("%d",cont);
getch();
}while ( cont < 2);
}
Mas ainda existem alguns erros q não consigo solucionar !!!
1- Ao rodar o programa ele não consegue me dizer qual a classificação do triangulo (equilatero, isoceles ou escaleno) mostrando somente de qual ele pertence e ao pedir ao usuario se deseja reinciar msmo pedindo para finalizar ele recomeça o programa !!!
Pergunta
Joow
Bom galera é u seguinte o meu prof. pediu para q criasemos um prog em C onde teriamos q :
1- Descobrir se 3 lados de retas formariam um triangulo !
Procurando no Google achei q para isso basta saber se 1 dos lados é menor q a soma dos outros 2 ( lado1 < lado2+lado3)
2 - Se as retas formam um triangulo calcular sua área !
Novamente no Google achei esta formula area = raiz quadrada de ( p * (p-lado1) * (p-lado2) * (p-lado3)) onde p é o semi-perimetro, ou seja, p= lado1+lado2+lado3/2
3- Apartir destes dados mostrar na tela se as retas formam um triangulo se sim mostrar na tela a area do triangulo, o semi-perimetro do msmO, e se ele é equilatero ( todos os lados iguais), isoceles (apenas 2 lados iguais), ou escaleno ( nenhum lado igual).
4- Apos o fim deste perguntar ao usuario se gostaria de recomeçar o programa !
Com isso consegui chegar a este codigo:
Mas ainda existem alguns erros q não consigo solucionar !!!
1- Ao rodar o programa ele não consegue me dizer qual a classificação do triangulo (equilatero, isoceles ou escaleno) mostrando somente de qual ele pertence e ao pedir ao usuario se deseja reinciar msmo pedindo para finalizar ele recomeça o programa !!!
Peço ajuda a vocês !!!
Desde já obrigadO !!!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.