Jump to content


Photo

Como Que Para O Comando If?


  • Faça o login para participar
1 reply to this topic

#1 ejrsga

ejrsga

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado
  • Localidade:Gama-DF
  • Interesses:programaçao lig C

Posted 21/12/2004, 02:45

Primeiramente , eu recorro ao forum pq é minha unica (alias ultima) alternativa;
eu posto as duvidas aqui quando realmente, num tem mais jeito, fico muito agradecido a todos que respondem e nao posto agradecimentos de volta pra num ficar encheno o topico "atoa", mas estudar sozinho é muito dificil, e sendo assim la vai mais uma, (parece grande mais é bastante simples, apenas analisa se é um triagulo e se é isoceles equilatero ou escaleno)

#include<stdio.h>
#include<stdlib.h>

float a,b,c;

main()
{
printf("lado A triangulo\n");
scanf("%f",&a);

printf("lado B do triangulo\n");
scanf("%f",&b);

printf("lado C do triangulo\n");
scanf("%f",&c);

if((a<b+c)&&(b<a+c)&&(c<a+b)) // ve se as medidas correspondem a triang
printf("triangulo");

else
printf("As medidas nao correspondem aos lados de um triangulo\n");

if((a==b)&&(b!=c)&&(a!=c)) // a=b
printf(" Isoceles\n\n");

if((a==c)&&(a!=b)&&(c!=b)) //a=c
printf(" Isoceles\n\n");

if((b==c)&&(a!=c)&&(b!=a)) // b=c
printf(" Isoceles\n\n");

if((a==b)&&(a==c)) // a=b=c
printf(" Equilatero\n\n");

if((a!=b)&&(b!=c)&&(a!=c)) // a diferente de b diferente de c
printf(" Escaleno\n\n");

system("pause");
return(0);
}

O problema é o seguinte mesmos as medidas nao correspondendo a um triangulo ex.: 1,1,9 ele informa que este no caso e um isoceles e faria o mesmo para o equilatero ou escaleno, eu queria que quando ele visse que nao se trata de triangulo entao ele parasse por ai !???
Desde já, agradeço!!
ELIAS JÚNIOR

CRUZEIRO : MURO DE CONCRETO, RUIM DE DERRUBAR !!!


Feliz Natal a todos!!!!
Que Cristo possa renascer no coraçao de todos nós,
e ai permanecer para sempre!!!!!

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 21/12/2004, 03:04

O problema todo foi o esquecimento das chaves, e um pouco de bagunça no código... Faz assim:

#include<stdio.h>
#include<stdlib.h>

float a,b,c;

int main(){

   printf("lado A triangulo\n");
   scanf("%f",&a);
   printf("lado B do triangulo\n");
   scanf("%f",&b);
   printf("lado C do triangulo\n");
   scanf("%f",&c);

   if((a<b+c)&&(b<a+c)&&(c<a+b)){

      printf("triangulo");

      if( ((a==b)&&(b!=c)&&(a!=c)) ||
          ((a==c)&&(a!=b)&&(c!=b)) ||
          ((b==c)&&(a!=c)&&(b!=a)) )
         printf(" Isosceles\n\n");
      else if((a==b)&&(a==c))
         printf(" Equilatero\n\n");
      else
         printf(" Escaleno\n\n");

   }else
      printf("As medidas nao correspondem aos lados de um triangulo\n");

   system("pause");
   return(0);
}
Não deixei a comparação pra ver se é Escaleno porque, se não é nem Isósceles nem Equilátero, só pode ser Escaleno mesmo.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq