Fondamenti di Informatica- Compito G3

Prof. Evelina Lamma


26 giugno 2013


Esercizio (punti 20)

In un file di testo  sale.txt sono memorizzati gli interventi chirurgici effettuati oggi nelle sale operatorie di un ospedale.Ciascuna riga contiene:

Un file binario, interventi.bin contiene i dati di tutti gli interventi effettuati nelle sale operatorie dell'ospedale, dall'inizio dell'anno a ieri. Ciascuna linea contiene:


Si realizzi un programma C, organizzato in almeno due funzioni, rispettivamente dedicate a:

  1. costruire una lista L in memoria centrale, ordinata sul campo nome sala, che riporta in ciascun nodo: nome sala,totale di interventi eseguiti (se la sala compare in entrambi i file, è l'intero del primo file + intero del secondo file; se la sala compare solo nel primo file, è l'intero che compare in questo file). La funzione1 riceve i puntatori ai due file, più altri parametri a vostra scelta,e restituisce una lista;
  2. accedendo a L, calcolare in modo iterativo, qual è la sala che ha eseguito più interventi dall'inizio dell'anno a oggi. La funzione2 riceve il puntatore alla lista e restituisce l'elemento struttura con nome sala e intero di valore intero massimo.


Ad esempio, se il file sale.txt contiene:

A14

8

A13

7

A1

9


e il file interventi.bin contiene:

A13

405

A1

126

A14

90

la funzione2 restituisce l'elemento:

A13

412



Per chi svolge il compito A+B (+30 min, tot 2,5 h):

Si carichino i dati del file interventi.bin in un vettore di strutture (di dimensione 100, sufficiente essendo le sale diverse meno di 50), lo si ordini sul campo nome salae lo si stampi in uscita sul file outputAB.txt.



NOTA BENE:   si consegnino i sorgenti, eseguibile e i file di uscita generati. È possibile utilizzare librerie C (ad esempio per le stringhe). Nel caso si strutturi a moduli l'applicazione qualunque libreria utente va riportata nello svolgimento.





File translated from TEX by TTH, version 4.03.

On 11 Jun 2013, 15:19.