Ir para conteúdo

POWERED BY:

Arquivado

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

Gustavo Rodrigues Torre

Triângulo com escolha

Recommended Posts

Eu fiz este programa mas ele esta com erro nestes if

 

if (a^2 = b^2 + c^2)
	{
	printf("\n formam um triângulo retângulo");
	}
		if (a^2 > b^2 + c^2) 
		{
		printf("\n formam um triângulo obtusângulo");
		}
		   if (a^2 < b^2 + c^2)

 

Segue abaixo o código completo

/*Programa triângulo*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
main()
{									  
float a,b,c;

printf("\nDigite os valores: ");
scanf("%f%f%f",&a,&b,&c);

	if ((a > b) && (b > c))
	{
	printf("\n\n %.f %.f %.f",a,b,c);
	printf("\n\n");
	}
 else
	   if ((a > c) && (c> b))
	   {
	   printf("\n\n %.f %.f %.f",a,c,b);
	   printf("\n\n");
	   }
 else
		  if ((b > a) && (a> c))
		  {
		  printf("\n %.f %.f %.f",b,a,c);
		  printf("\n\n");
		  }
 else
			 if ((b > c) && (c> a))
			 {
			 printf("\n\n %.f %.f %.f",b,c,a);
			 printf("\n\n");
			 }
 else
				if ((c > b) && (b > a))
				{
				printf("\n\n %.f %.f %.f",c,b,a);
				printf("\n\n");
				}
 else
				   if ((c > a) && (a> b))
				   {
				   printf("\n\n %.f %.f %.f",c,a,b);
				   printf("\n\n");
				   }
 //Verificar triangulo				  
 if (a > b + c)
 {
 printf("\n nao formam triangulo");
 }
 else
 {
 printf("os lados formam um triângulo");
 }
	if (a^2 = b^2 + c^2)
	{
	printf("\n formam um triângulo retângulo");
	}
		if (a^2 > b^2 + c^2) 
		{
		printf("\n formam um triângulo obtusângulo");
		}
		   if (a^2 < b^2 + c^2)
		   {
		   printf("\n formam um triângulo acutângulo");
		   }
			  if ((a == b) || (b == c))
			  {
			  printf("\n formam um triângulo equilátero");
			  }
				   if ((a == b) || (b == c) || (a == c))
				   {
				   printf("\n formam um triângulo isósceles");
				   }
				   
printf("\n\n");
system("pause");
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não existe o operador de potencia "^" em C.

 

Para resolver faça algo desse tipo:

 

if ((a * a) == (b * b) + (c * c))
	{
	printf("\n formam um triângulo retângulo");
	}

Outro erro foi ter comaparado com "=".

Comparação em C é: "=="

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu a ajuda Kandrade

E eu poderia fazer assim tb?

 

pow(a*2)?

 

 

Não existe o operador de potencia "^" em C.

 

Para resolver faça algo desse tipo:

 

if ((a * a) == (b * b) + (c * c))
	{
	printf("\n formam um triângulo retângulo");
	}

Outro erro foi ter comaparado com "=".

Comparação em C é: "=="

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kandrade

Acho que existe algum erro nos if

Pois eu coloquei os seguintes valores

10,10,10

E era p/ o programa me retornar a mensagem dizendo que é um triangulo equilatero

 

/*Programa triângulo*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
main()
{									  
float a,b,c;

printf("\nDigite os valores: ");
scanf("%f%f%f",&a,&b,&c);

	if ((a > b) && (b > c))
	{
	printf("\n\n %.f %.f %.f",a,b,c);
	printf("\n\n");
	}
 else
	   if ((a > c) && (c> b))
	   {
	   printf("\n\n %.f %.f %.f",a,c,b);
	   printf("\n\n");
	   }
 else
		  if ((b > a) && (a> c))
		  {
		  printf("\n %.f %.f %.f",b,a,c);
		  printf("\n\n");
		  }
 else
			 if ((b > c) && (c> a))
			 {
			 printf("\n\n %.f %.f %.f",b,c,a);
			 printf("\n\n");
			 }
 else
				if ((c > b) && (b > a))
				{
				printf("\n\n %.f %.f %.f",c,b,a);
				printf("\n\n");
				}
 else
				   if ((c > a) && (a> b))
				   {
				   printf("\n\n %.f %.f %.f",c,a,b);
				   printf("\n\n");
				   }
 //Verificar triangulo				  
 if (a > b + c)
 {
 printf("\n nao formam triangulo");
 printf("\n\n");
 }
 else
 {
 printf("os lados formam um triangulo");
 printf("\n\n");
 }
   if ((a * a) == (b * b) + (c * c))
	{
	printf("\n formam um triangulo retangulo");
	}
		if ((a*a) > (b*b) + (c*c))
		{
		printf("\n formam um triangulo obtusangulo");
		printf("\n\n");
		}
		   if ((a*a) < (b*b) + (c*c))
		   {
		   printf("\n formam um triangulo acutangulo");
		   printf("\n\n");
		   }
			  if ((a == b) || (b == c))
			  {
			  printf("\n formam um triangulo equilatero");
			  printf("\n\n");
			  }
				   if ((a == b) || (b == c) || (a == c))
				   {
				   printf("\n formam um triangulo isosceles");
				   printf("\n\n");
				   }

printf("Os dados lidos formam %.f %.f %.f ", a,b,c);
				   
printf("\n\n");
system("pause");
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara ta meio estranho pq pense cmg você digita 10 10 10

ai ele passa pelo seu if

if ((a*a) < (b*b) + (c*c))
		   {
		   printf("\n formam um triangulo acutangulo");
		   printf("\n\n");
		   }
((10*10) < ((10*10) + (10*10)))

((100) < ((100) + (100)))

((100) < ((200)))

Sim 100 é menor q 200

 

entaum vai dar q o triangulo é acutangulo..

 

me explica melhor pra mim poder te ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso dai nao da pra ser feito com o switch() ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.