Ir para conteúdo
Fórum Script Brasil
  • 0

como listar por media usando arquivos


luis galdino

Pergunta

BOM GALERA

TOU COM UM TRABALHO DE FACULDADE

PRA FAZER

ONDE TENHO QUE CADASTRAR,LISTA,LISTAR_APROVADOS,LISTAR_REPROVADOS,ALTERAR,REMOVER;

alguém PODE ME AJUDAR !

VOU POSTAR AQUI O MEU CODIGO ATE ONDE EU FIZ

POREM não TA LISTANDO POR MEDIA!

alguém PODERIA ME AJUDAR

ABRAÇO!

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <string.h>

struct aluno {

char nome[40];

int idade;

int mat;

float nota1,nota2,nota3;

};

aluno a;

FILE*p;

void cadastro(aluno a)

{

int i;

p=fopen("c:\\temp\\aluno","w");

if(p==NULL){

printf("ERRO NA ABERTURA DO ARQUIVO");}

else

{

printf("NOME:\n");

fflush(stdin);

gets(a.nome);

system("cls");

printf("IDADE:\n");

fflush(stdin);

scanf("%d",&a.idade);

system("cls");

printf("MAT:\n");

fflush(stdin);

scanf("%d",&a.mat);

system("cls");

printf("NOTAS:\n");

scanf("%f%f%f\n",&a.nota1,&a.nota2,&a.nota3);

fwrite(&a,sizeof(a),1,p);

}

fclose(p);

system("pause");

system("cls");

}

void listar(aluno B)

{int i;

p=fopen("c:\\temp\\aluno","r");

if(p==NULL)

printf("ERRO NA ABERTURA DO ARQUIVO");

else

{

fread(&b,sizeof(B),1,p);

if(ferror(p))

printf("erro");

else

{

while(!feof(p))

{

printf("NOME:%s\n",b.nome);

printf("IDADE:%d\n",b.idade);

printf("MAT:%d\n",b.mat);

printf("NOTAS:%f%f%f\n",b.nota1,b.nota2,b.nota3);

fread(&b,sizeof(B),1,p);

}

}

}

fclose(p);

system("pause");

system("cls");

}

void listar_aprov(aluno B)

{float med,soma=0;

int i;

p=fopen("c:\\temp\\aluno","r");

if(p==NULL)

printf("ERRO NA ABERTURA DO ARQUIVO");

else{

fread(&b,sizeof(p),1,p);

med=(b.nota1+b.nota2+b.nota3)/3;

if(med>7){

printf("NOME:%s\n",b.nome);

printf("IDADE:%d\n",b.idade);

printf("MAT:%d\n",b.mat);

printf("NOTAS:%f%f%f\n",b.nota1,b.nota2,b.nota3);

}

fread(&b,sizeof(B),1,p);

}

fclose(p);

system("pause");

system("cls");

}

main()

{ int i;

for ( ; ; )

{ printf(" MENU\n\n(1) Cadastro\n(2) Listar\n(3) listar_aprov\n(4) Alterar\n(5) Remover\n(6) Sair\n\n");

scanf("%d",&i);

system("cls");

switch(i)

{ case 1: cadastro(a); break;

case 2: listar(a); break;

case 3: listar_aprov(a); break;

//case 4: alt(a); break;

// case 5: remov(a); break;

// case 6: exit(1);

}

getch();

}

}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...