Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Ao Executar


Lorissa Lick

Pergunta

#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

  • 0

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 escopo

scanf("%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 inteiro

if (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 erro

att

Ramon Mayor Martins

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Thiago Domingues --

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();

}

Link para o comentário
Compartilhar em outros sites

  • 0

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();

}

Link para o comentário
Compartilhar em outros sites

  • 0

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)

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...