Mostrar a lista dos aprovados em ordem alfabética.
oque eu fiz até agora foi isso:
#include <conio.h>
#include <stdio.h>
#include <string.h>
int main( ) {
char nome[40];
float idade,estatura,massa;
int i=0;
FILE *fp = fopen("Guardas.dat","rt");
if (fp==NULL) {
printf("ERRO\n");
return 1; }
printf("Veja os resultados dos candidatos dizendo se a idade, a estatura e a massa\nestao dentro ou não dos padroes, e se ele foi aprovado ou não.\n\n");
Pergunta
KPITALISTA
eu preciso fazer esse programa:
Os dados dos candidatos: NOME, ESTATURA, MASSA e IDADE estão armazenados no arquivo
GUARDAS.DAT.
Tarefas:
O programa deve ir lendo os dados do arquivo e chamar uma função para verificar se os dados do
candidato se enquadram nos seguintes limites:
IDADE: de 25 a 40 anos
ESTATURA: de 1.70 a 2.00 m
MASSA: de 75.0 a 100.0 Kg
e imprimir uma frase com o resultado de cada quesito dizendo se a idade, a estatura e a massa estão
dentro ou não dos padrões, e uma frase final dizendo se ele foi aprovado ou não.
Os candidatos aprovados devem ser impressos no final com seus nomes ordenados em ordem alfabética,
através de uma função que implemente um dos métodos simples de classificação (Bolha, Inserção ou
Seleção).
Exemplo parcial:
Dados do arquivo >>>>>>>>>>>>>>>>>>>>>>>Saída esperada na tela
Zé Novo
22>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Idade fora dos padrões
1.80>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Estatura dentro dos padrões
80.0 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Massa dentro dos padrões
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Candidato reprovado
Zé Baixo
30>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Idade dentro dos padrões
1.60>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Estatura fora dos padrões
80.0>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Massa dent
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Candidato reprovado
Zé Magro
30>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Idade dentro dos padrões
1.80>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Estatura dentro dos padrões
70.0>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Massa fora dos padrões
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Candidato reprovado
Zé da Hora
30>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Idade dentro dos padrões
1.80>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Estatura dentro dos padrões
80.0>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Massa dentro dos padrões
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Candidato aprovado!!!
Mostrar a lista dos aprovados em ordem alfabética.
oque eu fiz até agora foi isso:
#include <conio.h>
#include <stdio.h>
#include <string.h>
int main( ) {
char nome[40];
float idade,estatura,massa;
int i=0;
FILE *fp = fopen("Guardas.dat","rt");
if (fp==NULL) {
printf("ERRO\n");
return 1; }
printf("Veja os resultados dos candidatos dizendo se a idade, a estatura e a massa\nestao dentro ou não dos padroes, e se ele foi aprovado ou não.\n\n");
while(fgets(nome,81,fp)!=NULL) {
fscanf(fp, "%f %f %f ",&idade,&estatura,&massa);
printf("Candidato: %s\n",nome);
if(idade>=25 && idade<=40)
printf("Idade dentro dos padroes.\n");
else
printf("Idade fora dos padroes.\n");
if(estatura>=1.70 && estatura<=2.00)
printf("Estatura dentro dos padroes.\n");
else
printf("Estatura fora dos padroes.\n");
if(massa>=75.0 && massa<=100.0)
printf("Massa dentro dos padroes.\n");
else
printf("Massa fora dos padroes.\n");
if(idade>=25 && idade<=40 && estatura>=1.70 && estatura<=2.00 && massa>=75.0 && massa<=100.0)
printf("Candidato aprovado!!!.\n\n");
else
printf("Candidato reprovado.\n\n");
}
while(fgets(nome,81,fp)!=NULL) {
fscanf(fp, "%f %f %f ",&idade,&estatura,&massa);
if(idade>=25 && idade<=40 && estatura>=1.70 && estatura<=2.00 && massa>=75.0 && massa<=100.0)
printf("Candidato: %s\n",nome);
}
fclose(fp);
getch();
return 1;
}
se forem fazer o arquivo.dat coloquem nessa ordem:
Ze Novo
22 1.80 80.0
Ze Baixo
30 1.60 80.0
Ze Magro
30 1.80 70.0
Ze da Hora
30 1.80 80.0
...
Link para o comentário
Compartilhar em outros sites
0 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.