Jump to content
Fórum Script Brasil
  • 0

Erro Ao Executar


Lorissa Lick
 Share

Question

#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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...