LucasPS 1 Denunciar post Postado Fevereiro 21, 2009 Bom galera, eu tenho que fazer um exercicio que o usuario digita a idade e o programa classifica em um categoria por idade, só que fiz algo errado e qualquer idade ele mostra a mesma categoria, vejam o que eu fiz errado :/ #include <stdio.h> void main(){ int x; printf("Informe a idade do nadador: "); scanf("%d",&x); if((x>=5) || (x<=7)){ printf("\nCategoria Infantil A."); } else { if ((x>=8) || (x<=10)){ printf("\nCategoria Infantil B."); } else { if((x>=11) || (x<=13)){ printf("\nCategoria Juvenil A."); } else { if((x>=14) || (x<=17)){ printf("\nCategoria Juvenil B."); } else printf("\nCategoria Adulto."); } } } } Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Fevereiro 21, 2009 A tua lógica está errada, a comparação entre as idades deve ser "&&". Veja a primeira, se x for maior ou igual a 5 OU x maior ou igual a 7...vai sempre dar errado, se você digitar 15, 15 é maior x e como está usando OU, a outra expressão é descartada :D Lembre-se das operações lógicas, no caso do OU apenas uma expressão deve retornar verdadeiro....no caso do E ambas devem retornar verdadeiro. Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Fevereiro 21, 2009 Seria assim entao? #include <stdio.h> void main(){ int x; printf("Informe a idade do nadador: "); scanf("%d",&x); if((x>=5) || (x<=7)){ printf("\nCategoria Infantil A."); } else if ((x>=8) || (x<=10)){ printf("\nCategoria Infantil B."); } else if((x>=11) || (x<=13)){ printf("\nCategoria Juvenil A."); } else if((x>=14) || (x<=17)){ printf("\nCategoria Juvenil B."); } else printf("\nCategoria Adulto."); }mas continua mostrando a mesma caterogira para todas as idades :x Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Fevereiro 21, 2009 Eu editei a minha resposta, o problema era outro...na verdade acho que da forma que você colocou os if else tava mais otimizado. Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Fevereiro 21, 2009 entao && é E e || é OU? só arrumei isso de deu certo vlw ai ^^ Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Fevereiro 23, 2009 Exato :D São chamados de Operadores Lógicos. Existe ainda o "!", que significa "NÃO". Compartilhar este post Link para o post Compartilhar em outros sites