Jump to content
Fórum Script Brasil
  • 0

[AJUDA] Ordem alfabética bolha, seleção ou inserção


KPITALISTA

Question

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

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...