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

Por que meu programa so imprime um nome e uma idade de uma pessoa abaixo e outra de uma pessoa acima de 18 anos ?


Rhyta Cássia

Pergunta

#include <stdio.h>
 
struct Pessoa
{
char nome[100];
int idade;
};
int main ()
{
struct Pessoa Pessoas[100];
int menor = 18, maior = 18;
 
for(int i=0 ; i < 2; i++)
{
printf("Informe o Nome da %dª Pessoa: ", i+1);
scanf("%s",&Pessoas[i].nome);
 
printf("Informe a idade da %dª Pessoa: ", i+1);
scanf("%d", &Pessoas[i].idade);
 
 
if(Pessoas[i].idade > maior) maior = Pessoas[i].idade;
if(Pessoas[i].idade < menor) menor = Pessoas[i].idade;
}
 
//PESSOAS MAIS NOVAS
printf("\n Pessoa(s) menor que 18(s):\n");
for(int i=0 ; i < 18; i++)
{
 
if(Pessoas[i].idade == menor)
printf("Nome: %s Idade: %d anos\n", Pessoas[i].nome, Pessoas[i].idade);
}
 
//PESSOAS MAIS VELHAS
printf("\nPessoa(s) maior de 18 anos (s):\n");
for(int i=0 ; i < 18; i++)
{
 
if(Pessoas[i].idade == maior)
printf("Nome: %s Idade: %d anos\n", Pessoas[i].nome, Pessoas[i].idade); }
 
return 0; }
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

certamente você quer saber quantas pessoas menor que 18 e quantas maior que 18 tem na lista, porem os de 18 são incluídos como maiores então a condição seguinte ta errada.

if( Pessoas[i].idade > maior )

O certo seria:

if( Pessoas[i].idade >= maior )
Editado por vangodp
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...