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");
Question
KPITALISTA
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.
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.