Logo Hardware.com.br
bamattos
bamattos Tô em todas Registrado
2.2K Mensagens 4 Curtidas

Linguagem C – O que está errado nessa busca?

#1 Por bamattos 18/11/2003 - 20:13
#include
#include
#include
struct aluno
{
char nome[50];
float a1, a2, media;
}*ficha;
float media(float *a, float *b)
{
float c;
c = (*a + *b)/2;
return c;
}
void ordenacao(struct aluno *x,int max)
{
struct aluno aux;
int ant,pos;
for(ant=0 ; ant {
for(pos=ant+1; pos {
if(ficha[ant].media > ficha[pos].media)
{
aux = x[ant];
x[ant] = x[pos];
x[pos] = aux;
}
}
}
}
void busca(struct aluno *ficha, int max)
{
char alvo[50];
int i,m;
{
i=0;
printf("\n\nInforme o nome para a busca: ");
gets(alvo);
while(i {
{
if(ficha[i].nome==alvo)
{
printf("\nNome encontrado: %s",alvo);
//i++;
}
i++;
}
}
getch();
}

}
int main()
{
int n,i,x;
FILE *f;
f = fopen("boletim.dat", "w+");
printf("Quantos alunos deseja registrar: ");
scanf("%d", &n);
getchar();
ficha = (struct aluno*)malloc(n*sizeof(struct aluno));
for(i=0 ;i< n; i++)
{
printf("Informe o nome do aluno: ");
gets(ficha[i].nome);
printf("Informe a primeira nota do aluno: ");
scanf("%f", &ficha[i].a1);
printf("Informe a segunda nota do aluno: ");
scanf("%f", &ficha[i].a2);
ficha[i].media = media(&ficha[i].a1,&ficha[i].a2);
_flushall();
}
ordenacao(ficha, n);
for(i=0; i {
printf("\nNome do aluno: %s", ficha[i].nome);
printf("\nPrimeira nota do aluno: %.2f", ficha[i].a1);
printf("\nSegunda nota do aluno: %.2f", ficha[i].a2);
printf("\nMédia: %.2f", ficha[i].media);
} getch();
busca(ficha,n);
fwrite(&n, sizeof(int), 1, f);
fwrite(ficha, sizeof(struct aluno), n, f);
fclose(f);
free(ficha);
}

Valeu.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal