Fondamenti di Informatica- Compito G2

Prof. Evelina Lamma


26 giugno 2013


Esercizio (punti 20)


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

Un file di testo, interventi.txt  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 ricorsivo, qual è la sala che ha eseguito il minore numero di 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 minimo.



Ad esempio, se il file sale.bin  contiene:

A14

8

A13

7

A1

9


e il file interventi.txt  contiene:

A13

405

A1

126

A14

90

la funzione2 restituisce l'elemento:

A14

98



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

Si carichino i dati del filesale.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.