Ecco un esempio di utilizzo:
$ ./mediatore
************************************************************
1 - Salva un nuovo voto
2 - Stampa la media
3 - Esci
************************************************************
[1-3] -> 1
Inserisci il voto da salvare: 28
************************************************************
1 - Salva un nuovo voto
2 - Stampa la media
3 - Esci
************************************************************
[1-3] -> 2
File "memoria_med.txt" aperto.
Elenco dei voti inseriti:
29
27
30
26
28
24
30
30
30
25
30
28
30
30
30
28
Numero degli esami inseriti: 16
##################################
##### La tua media e': 28.44 #####
##################################
************************************************************
1 - Salva un nuovo voto
2 - Stampa la media
3 - Esci
************************************************************
[1-3] -> 3
Uscita.
Powered by Mirko "TheAlchemist" Palomba
Ancora devo provarlo su win, ma da Linux va una favola
Ed ecco il codicillo:
[code type="markup"]
$ cat media-1.1.c
/* ######################################################
# Programma per il calcolo della media universitaria #
# #
# Mirko "TheAlchemist" Palomba #
# #
######################################################
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int stampa_media();
void inserisci();
int n_exams=0;
main(){
FILE *mem;
char *name_file="memoria_med.txt";
int scelta=0;
mem = fopen(name_file, "a+"
fclose(mem);
while( scelta!=3 ){
printf("\n\n************************************************************"
printf("\n1 - Salva un nuovo voto"
printf("\n2 - Stampa la media"
printf("\n3 - Esci"
printf("\n************************************************************\n"
printf("\n[1-3] -> "
scanf("%d",&scelta);
switch(scelta){
case 1: inserisci();break;
case 2: stampa_media();break;
case 3: printf("\nUscita.\nPowered by Mirko \"TheAlchemist\" Palomba\n"
}
}
}
int stampa_media(){
int i,provvisorio,num,esami=0;
float result,sum=0;
char buff[3];
FILE *mem;
char *name_file="memoria_med.txt";
mem = fopen(name_file, "r"
if((mem = fopen(name_file, "r"
printf("\nErrore nell'apertura del file %s\n",name_file);
exit(-1);
}
printf("\nFile \"%s\" aperto.\n",name_file);
sum=0;
printf("\nElenco dei voti inseriti:"
while ( fgets(buff, 5, mem) != NULL){
esami++;
provvisorio=buff[0];
num=10*(provvisorio-48);
provvisorio=buff[1];
num=num+(provvisorio-48);
printf("\n%d",num);
sum=sum+num;
}
if( esami!=0){
printf("\n\nNumero degli esami inseriti: %d",esami);
result=sum/esami;
printf("\n\n##################################"
printf("\n##### La tua media e': %.2f #####",result);
printf("\n##################################\n"
} else {
printf("\nNon ci sono esami inseriti\n"
}
fclose(mem);
n_exams=esami;
return sum;
}
void inserisci(){
FILE *mem;
char *name_file="memoria_med.txt",input[1];
mem = fopen(name_file, "a+"
printf("\nInserisci il voto da salvare: "
scanf("%s",input);
fputs(input,mem);
fputs("\n",mem);
fclose(mem);
}
[/code]
Se avro' tempo/voglia sviluppero' la versione 2 con una piccola cosa in piu'