sleip Postado Março 30, 2009 Denunciar Share Postado Março 30, 2009 Escreva um programa, em C, para ler o nome, a idade e o e-mail de 30 pessoas, calculare 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Março 30, 2009 Denunciar Share Postado Março 30, 2009 esse scanf ta errado:scanf("d", &p[i].idade); tem q ser: scanf("%d", &p[i].idade); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thiago de Paula Beserra Postado Março 30, 2009 Denunciar Share Postado Março 30, 2009 (editado) #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 Março 30, 2009 por Thiago de Paula Beserra Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 sleip Postado Abril 6, 2009 Autor Denunciar Share Postado Abril 6, 2009 (editado) ops o dado é pra exibir os dados completo das pessoasmas tp se tiver 4 com a mesmo idade ele exibi as 4 pessoascomo faço essa comparação alguém me ajudaTentei 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 Abril 6, 2009 por sleip Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
sleip
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.
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
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.