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

Duvida Simples em C


sleip

Pergunta

Escreva um programa, em C, para ler o nome, a idade e o e-mail de 30 pessoas, calcular

e exibir os dados das duas pessoas mais velhas.

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct {
       char nome[31];
       int idade;
       char email[31];
}Tpessoa; 
       
int main() {
    Tpessoa p[30];
    int i,velho=0,velho_2=0;
        
    for (i = 0; i < 2; i++) {
        printf("\nInforme o nome da %d pessoa: ",i+1);
        fflush(stdin);
        gets(p[i].nome);
        printf("\nInforme a idade da %d pessoa: ",i+1);
        scanf("d", &p[i].idade);
        printf("\nInforme email %d pessoa: ",i+1);
        fflush(stdin);
        scanf("%s", p[i].email);
        }
    for (i = 0; i < 2; i++) {
        if (p[i].idade >= velho)
           velho=p[i].idade;
        if ((p[i].idade <= velho) && (p[i].idade >= velho_2))
        velho_2=p[i].idade;
        }

        printf("\n%d %d", velho, velho_2);     
        system("pause");
        return(0);
        }

fiz dessa maneira, mas ele não esta exibindo as duas pessoas mais velhas o q tem de errado?

please

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
#include <stdio.h>
#include <conio.h>
#include "console.h"

struct spessoa
{
    char nome[31], email[31];
    int idade[31];
};

spessoa P;

main()
{
    int m_idade1, m_idade2;
    
    for (int i = 0; i < 3; i++)
    {
        clrscr(); // Limpa a tela
        fflush(stdin);
        printf("Nome: ");
        gets(P.nome);
        printf("\n\nEmail: ");
        gets(P.email);
        printf("\n\nIdade: ");
        scanf("%d", &P.idade[i]);
    }
    
    // Verifica a maior idade
    m_idade1 = P.idade[0];
    for (int i = 1; i < 3; i++)
        if (P.idade[i] > m_idade1)
            m_idade1 = P.idade[i];
            
    // Verifica a segunda maior idade
    m_idade2 = P.idade[0];
    for (int i = 0; i < 3; i++)
    {
        if (P.idade[i] >= m_idade2 && P.idade[i] < m_idade1)
            m_idade2 = P.idade[i];
    }
    
    printf("\n\nMaior Idade: %d", m_idade1);
    printf("\n\nSegunda Maior Idade: %d", m_idade2);
         
    getch();      
}

Editado por Thiago de Paula Beserra
Link para o comentário
Compartilhar em outros sites

  • 0

ops o dado é pra exibir os dados completo das pessoas

mas tp se tiver 4 com a mesmo idade ele exibi as 4 pessoas

como faço essa comparação alguém me ajuda

Tentei fazer isso sei q esta errado

for (i = 0; i <= 4; i++) {
        j=1;
        while (j!=4) {
              if (p[i].idade >= p[j].idade) {
              
              if (j==4) {
                 printf("%s ", p[i].nome);
                 printf("%d ", p[i].idade);
                 printf("%s ", p[i].velho);
                 velho_1=p[i].idade;
                 }
                 j+=1;
                                              }//if
              else 
                   j=4;

Editado por sleip
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,3k
×
×
  • Criar Novo...