fbpx
Skip to main content

Media universitaria tramite programma

Di più
18 Anni 11 Mesi fa #35317 da Valentina Bragaglia
Ho creato questo piccolo programmino per tenere conto della propria media, senza doverla stare a ricalcolare ogni volta ;)

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 :D

Ed ecco il codicillo:
$ 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");exit(0);
                }
        }
}

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")) == NULL){
                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);
}

Se avro' tempo/voglia sviluppero' la versione 2 con una piccola cosa in piu'

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
18 Anni 11 Mesi fa #35401 da Matteo
Mi sembra che quello della delphi funzioni egregiamente.

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
18 Anni 11 Mesi fa #35428 da Valentina Bragaglia
Non sempre si ha un collegamento online da ogni postazione

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
18 Anni 6 Mesi fa #46821 da Valentina Bragaglia
Ma solo a me sono fermi al secondo esame fatto all'inizio dell'anno?
Mancano altri 10 esami!!!!!!! La mia media non c'entra niente con quella indicata su delphi!

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
18 Anni 6 Mesi fa #46836 da Eleonora Consiglio
Da noi ad Economia lo aggiornano abbastanza velocemente...
Cmq complimenti per il programmino!!

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
18 Anni 6 Mesi fa #46845 da Valentina Bragaglia
Grazie, ma e' veramente un giochino :)
Tuttavia e' utilissimo, lo uso da quando l'ho fatto e non devo ricalcolare la media esame dopo esame, basta solo che aggiungo l'ultimo esame svolto e il gioco e' fatto. Soprattutto tiene conto della media aggiornata...il nostro sito che gestisce gli esami verbalizzati e' lentissimo!!!!

Si prega Accedi o Crea un account a partecipare alla conversazione.