Salta ai contenuti. | Salta alla navigazione

Strumenti personali

20 dicembre 2012 - PM

Fondamenti di Informatica modulo A - Compito A

Prof. Marco Gavanelli

20 dicembre 2012

Esercizio (punti 16)

Il docente di un insegnamento universitario salva i risultati di tutti gli appelli in un file di testo  risultati.txt . Ciascun risultato è costituito dalle seguenti informazioni:

  • cognome dello studente: stringa contenente al più 20 caratteri, senza spazi
  • giorno, mese, anno: tre interi
  • voto: intero

Il file contiene al più 100 risultati ed è ordinato in ordine crescente di data.

Uno studente può sostenere più volte l'esame. In caso lo studente decida di dare l'esame più volte, il voto finale è quello dell'ultimo esame che ha sostenuto.

Il docente desidera sapere il voto finale di ciascuno studente. Si scriva un programma C che risolve questo problema, utilizzando il seguente algoritmo:

  1. nel main , si invochi una procedura o funzione di lettura (punto 2), una di elaborazione (punto 3) e una di stampa (punto 4).
  2. La procedura o funzione di lettura deve leggere il file risultati.txt e portarne il contenuto in un opportuno array di strutture, da fornire al main ; si mostri a video l'array.
  3. La procedura o funzione di elaborazione prende come parametro l'array letto al punto 2 (più eventualmente altri parametri) e fornisce al main un array che contiene, per ogni studente
    • il cognome
    • il voto
  4. Infine, si stampi l'array prodotto al punto 3 con una opportuna procedura (o funzione).

Facoltativo (punti 4)

Si modifichi ora il programma in modo che funzioni anche se il file risultati.txt non è ordinato. Si mostri il risultato ordinato in ordine alfabetico del cognome dello studente.

Si consegnino i file:

  • un file main.c che contiene il main e le funzioni usate solo nell'esercizio base
  • un file facoltativo.c che contiene il main e le funzioni usate solo nell'esercizio facoltativo
  • un file funzioni.c che contiene le funzioni comuni

più tutti i file header ritenuti necessari. Per correggere l'elaborato, il docente creerà due progetti

  • in uno inserirà main.c e funzioni.c
  • nell'altro inserirà facoltativo.c e funzioni.c