Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

KPITALISTA

ordenação em ordem alfabética com bolha, seleção ou inserção

Recommended Posts

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

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal eu preciso ordenar uma lista .dat em ordem alfabética em bolha, inserção ou seleção até agora eu fis metade do programa, mas a parte mais importante que é ordenar eu não consegui fazer.

abaixo oque eu fiz até agora:

 

#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;

}

 

 

a minha professora colocou um código que me ajudaria mas eu não entendi e nem sei como implementa-lo no meu código.

abaixo o código da minha prof:

 

//primeiro codigo

 

#define MAX 30

 

struct dados

{

char nome[20];

int idade;

};

struct dados tabela[MAX];

int count=0;

void ordena(struct dados vet[MAX], int n);

int main()

{//...

ordena(tabela, cont);

//...

}

//segundo codigo

void ordena(struct dados vet[MAX], int n)

{

char aux[20];

int j,i;

for(j=2;j<=n;j++)

{

strcpy(aux, vet[j], nome);

vet[0]=vet[j];

i=j-1;

while(strcmp(aux,vet . nome)<0)

{

vet[i+1]=vet;

--i;

}

vet[i+1] = vet[j];

}

}

esse código ta estranho mas eu tenho 75% de certeza que é exatamente oque ela colocou na lousa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara o exercício que ela me deu é esse:

 

 

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).

 

o programa que eu fiz le o nome dos guardas e mostra se eles foram aprovados ou não, para voce compreender melhor coloca no bloco de notas esses nomes:

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

 

salva como guardas.dat e salva o meu programa na mesma pasta e copila.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor, não crie tópicos repetitivos. O assunto dos dois tópicos que você criou é o mesmo.

 

Uni ambos os tópicos neste aqui.

 

Use, também, a tag "code" para que seu código seja bem-formatado e os usuários sintam vontade de ajudá-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.