Logo Hardware.com.br
vitor hugo2014
vitor hugo20... Novo Membro Registrado
7 Mensagens 0 Curtidas

[Resolvido] Criar programa que classifique um triângulo! [Título Editado]

#1 Por vitor hugo20... 08/12/2014 - 00:55
Olá galera! Comecei a programar nessa semana, embora empolgado, surgiu muitas duvidas e n consegui resolver esse problema( mesmo ele sendo facil,imagino): O programa nao esta classificando o triangulo, ele le os valores dos lados mas na hora de imprimir ele nao diz a classificação que o triangulo se enquadra. depois de digitar os lados ele só imprime" o triangulo e:'' Espero que possam me ajudar! vlw!
[code=C]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]

char t(float a, float b, float c){
char i,e,eq;
if( a
if(a==b || a==c || b==c){

char i='isosceles';
return i;
}
if(a!=b || b!=c || c!=a){
char e='escaleno';
return e;


}
if(a==b && b==c ){
char eq='equilatero';
return eq;

}}}


int main(){
float x,y,z;
char w;
printf("Digite os 3 lados de um triangulo:");
scanf("%f %f %f", &x,&y,&z);
w=t(x,y,z);
printf("O triangulo dado e: %s ",w);
}
[/code]
Walter Hugo
Walter Hugo Super Participante Registrado
969 Mensagens 17 Curtidas
#3 Por Walter Hugo
08/12/2014 - 10:25
Então, amigo.
Uma vez que você não declarou a variável W como um vetor (string), e sim para guardar apenas um caractere, todo o programa ficou errado... Além do fato de que seria muito complicado fazer isso com uma string.

Também não há necessidade de fazer isso usando funções.

Acho que desta maneira fica melhor.
Se ainda preferir fazer usando funções, só mudar. big_green.png

[code=C]
#include
#include
#include


int main(){

float x,y,z;
printf("Digite os 3 lados de um triangulo: ");
scanf("%f %f %f", &x,&y,&z);

if(x+y>z&&x+z>y&&y+z>x){

printf("O triangulo dado eh: ");

if(x!=y && x!=z && y!=z){
printf("escaleno\n");
}

if(x==y && x==z ){
printf("equilatero\n");
}else if(x==y || x==z || y==z){
printf("isosceles\n");
}
}else{

printf("Os lados nao formam um triangulo.");

}

getchar();
return 0;
}
[/code]

OBS: Você precisar o ELSE IF depois do caso de o triângulo ser equilátero, se colocar IF separado, vai aparecer que o triângulo é equilátero e isósceles.
OBS: Tem também o IF que verifica se os lados dados podem ou não formar um triângulo.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal