Lorissa Lick Postado Julho 18, 2007 Denunciar Share Postado Julho 18, 2007 #include<stdio.h>#include<conio.h>main(){ int idade; printf("Digite sua idade:\n"); scanf("%d",&idade); if(idade=5 && idade<=7) { printf("Infantil A",idade); } else if(idade=8 && idade<=10) { printf("Infantil B",idade); } else if(idade=11 && idade<=17) { printf("Juvenil",idade); } else if(idade>=18) { printf("SÊNIOR",idade); } getch();}Gostaria de saber se alguém poderia dizer se há algum erro nesse programa, porque as idades dão erro...Por exemplo, se eu coloco 18 anos, em vez de considerar a categoria Senior, ele considera Infantil B...Alguém pode me ajudar?Agradeço desde já... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ramon Mayor Martins_ Postado Julho 19, 2007 Denunciar Share Postado Julho 19, 2007 Oi Lorissa , arrumei seu codigo e farei as consideraçoes#include<stdio.h>#include<stdlib.h>void main(void) //no seu main , precisava de um retorno ,no caso return 0; depois do getchar seu{int idade;printf("Digite sua idade:\n"); //eu limpei seu abre e fecha de escoposcanf("%d",&idade); if (idade>=5 && idade <= 7) // mudei o = pro >= ,podia ser == também , o = é atribuir valor e o == é comparar printf("%d Infantil A\n",idade); //no seu codigo tu esqueceu d colocar os %d , referenciando ao tipo de variavel , % é int no caso //tiverentre os " " o %d , ele n vai compreender que idade é do tipo inteiroif (idade>=8 && idade <= 10)printf("%d Infantil B\n",idade);if (idade>=11 && idade<=17)printf("%d Juvenil\n",idade);if(idade>=18)printf("%d SENIOR\n",idade);//getchar(); //getchar esta na stdio.h , a getch está na conio.h , dependendo do compilador que tu usa o getch n vai funcionar então //usa o system("pause"); system("pause"); //o system("pause"); serve pra tu interromper o seu programa , tenta usar ele , senao tenta getchar(); mesmo xD}tenta rodar ai , qualquer coisa posta a msg de erroattRamon Mayor Martins Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Thiago Domingues -- Postado Julho 25, 2007 Denunciar Share Postado Julho 25, 2007 Olá Lorissa..............................esse codigo postado pelo amigo é um pouco mais completo que o seu, mas no seu o erro era mesmo o '=' que tem que ser '==', pois estava fazendo atribuição. Vamos entender:#include<stdio.h>#include<conio.h>main(){ int idade; printf("Digite sua idade:\n"); scanf("%i",&idade); if(idade=5 && idade<=7) // aqui ele joga o valor 5 para idade , aí ele se perde na comparação. Já colocando o sinal de // '==' ele roda certinho. { printf("Infantil A",idade); } else if(idade<=10) { printf("Infantil B",idade); } else if(idade<=17) { printf("Juvenil",idade); } else if(idade>=18) { printf("SENIOR",idade); } getch();} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 pringles Postado Agosto 15, 2007 Denunciar Share Postado Agosto 15, 2007 Eu faria da seguinte forma:#include<stdio.h>#include<conio.h>int idade;void main(void){ int idade; printf("Digite sua idade: "); scanf("%d",&idade); if((idade>=5)&&(idade<=7)) printf("Infantil A:%d",idade); else if((idade>=8)&&(idade<=10)) printf("Infantil B:%d",idade); else if((idade>=11)&&(idade<=17)) printf("Juvenil:%d",idade); else if(idade>=18) printf("SÊNIOR",idade); getch();} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FuziOn Postado Agosto 15, 2007 Denunciar Share Postado Agosto 15, 2007 Na verdade, mesmo se você usasse o "==" no lugar do "=", seu programa ainda estaria errado, porém seria um erro de lógica e não de sintaxe.Veja:if(idade==5 && idade<=7) {A condição acima só será satisfeita quando idade for igual a 5, pois a senteça diz "se idade for igual a 5 e menor ou igual a 7....".Então mesmo que você digite 6 ou 7, nenhuma condição será satisfeita.O mesmo ocorre com os outros "ifs" onde você utilizaria "==".Resumindo, o jeito certo é usar ">=".PS:você também deveria adicionar no código saídas pra o caso de erros como por exemplo no caso de o usuário digitar uma idade negativa, ou mesmo que esteja entre 0 e 4 anos (que não se encaixa no código que você postou) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Lorissa Lick
#include<stdio.h>
#include<conio.h>
main()
{
int idade;
printf("Digite sua idade:\n");
scanf("%d",&idade);
if(idade=5 && idade<=7)
{
printf("Infantil A",idade);
}
else
if(idade=8 && idade<=10)
{
printf("Infantil B",idade);
}
else
if(idade=11 && idade<=17)
{
printf("Juvenil",idade);
}
else
if(idade>=18)
{
printf("SÊNIOR",idade);
}
getch();
}
Gostaria de saber se alguém poderia dizer se há algum erro nesse programa, porque as idades dão erro...
Por exemplo, se eu coloco 18 anos, em vez de considerar a categoria Senior, ele considera Infantil B...
Alguém pode me ajudar?
Agradeço desde já...
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.