#include <stdio.h>
void m(int dim, float notas[3][100]);
void total(int dim,float notas[3][100]);
void informacao(int dim, float notas[3][100]);
void acima(int dim, float notas[3][100]);
float mediaA(int i,float notas[3][100]);
int main() {
int i, dim, escolha;
FILE * trabalho = fopen ("trabalho.txt","a+");
if(trabalho==NULL)
printf("impossivel abrir o ficheiro, tente novamente", trabalho.txt);
else
printf("o ficheiro foi aberto com sucesso", trabalho.txt);
dim=0;
while (fscanf(trabalho,"%d;%f;%f;%f", ¬as[0][dim], ¬as[1][dim], ¬as[2][dim], ¬as[3][dim]) != EOF)
dim=dim+1;
escolha=0;
while (escolha != 1) {
printf("\n o que deseja saber??\nA=Medias?\nB=Totais?\nC=Informacao do aluno?\nD=Numero de alunos acima da media?\n prima 1 para sair");
scanf("%c",&escolha);
switch(escolha) {
case 'A':
'a': m(dim,notas[3][100]);
break;
case 'B':
'b': total(dim,notas[3][100]);
break;
case 'C':
'c': informacao(dim,notas[3][100])
break;
case 'D':
'd': acima(dim,notas[3][100])
break;
default: printf("erro!! operaçao escolhida invalida....");
}
fclose(trabalho);
}
void m(int dim, float notas[3][100]) {
float m[3],media;
m[0]=0;
m[1]=0;
m[2]=0;
for(i=0;i<dim;i++)
m[0]=m[0]+notas[1][i];
m[0]=m[0]/dim;
fprintf(trabalho,"\nMedia da Avaliacao Continua=%f",m[0]);
printf("\n Media da Avaliacao Continua=%f",m[0]);
for(i=0;i<dim;i++)
m[1]=m[1]+notas[2][i];
m[1]=m[1]/dim;
fprintf(trabalho,"\nmedia dos trabalhos=%f",m[1]);
printf("\n Media dos trabalhos=%f",m[1]);
for(i=0;i<dim;i++)
m[2]=m[2]+notas[3][i];
m[2]=m[2]/dim;
fprintf(trabalho,"\nmedia dos exames=%f",m[2]);
printf("\n Media dos exames=%f",m[2]);
}
void total(int dim,float notas[3][100]) {
int i;
float media;
FILE * trabalho;
trabalho = fopen ("trabalho.txt","a+");
for(i=0;i<dim;i++)
media = (notas[1][i]*0.15+notas[2][i]*0.20+notas[3][i]*0.65);
fprintf(trabalho,"\n\nNumero=%d\n\nmedia=%f",notas[0][i],media);
printf("\n\nNumero=%d\n\nmedia=%f",notas[0][i],media);
}
void informacao(int dim,float notas[3][100]) {
int i, aluno;
FILE * trabalho;
trabalho = fopen ("trabalho.txt","a+");
printf("\n Introduza o numero de aluno");
scanf ("%d",&aluno);
i=0;
while(aluno!=notas[0][i])
i=i+1;
fprintf(trabalho,"\nAvaliaçao continua=%f\nNota do Trabalho=%f\nNota do Exame=%f",notas[1][i],notas[2][i],notas[3][i]);
printf("\nAvaliaçao continua=%f\nNota do Trabalho=%f\nNota do Exame=%f",notas[1][i],notas[2][i],notas[3][i]);
}
void acima(int dim, float notas[3][100]) {
float mediaA(int i,float notas[3][100])
float mediaA;
FILE * trabalho;
trabalho = fopen ("trabalho.txt","a+");
mediaA= (notas[1][i]*0.15+notas[2][i]*0.20+notas[3][i]*0.65);
mediaT=0;
for (i=0;i<dim;i++)
mediaT = mediaT + mediaA(i,numero,notas);
quant=0;
mediaT= mediaT/dim;
for (i=0;i<dim;i++)
if (mediaA>mediaT)
quant=quant+1;
fprintf(trabalho,"\nO numero de alunos acima da media é: %d", quant);
printf("\nO numero de alunos acima da media é: %d", quant);
}