Fondamenti di Informatica Modulo A - Compito \letteracompito

Fondamenti di Informatica Modulo A - Compito C

Prof. Evelina Lamma

12 giugno 2013

Esercizio (punti 20)

Una multisala cinematografica in file di testo  sale.txt  memorizza le informazioni sui costi dei biglietti di ciascuna sala. Ciascuna riga contiene: Un secondo file, binario, biglietti.bin  contiene i dati dei biglietti venduti per le varie sale. Ciascuna linea contiene: Si realizzi un programma C, organizzato in almeno due funzioni, rispettivamente dedicate a:
  1. costruire un albero binario di ricerca, ordinato sul campo nome sala, che riporta in ciascun nodo: nome sala, costo biglietto, biglietti venduti in quella sala (intero). La funzioneA riceve i puntatori ai due file e restituisce il puntatore all'albero T;
  2. accedendo a T, calcolare qual è la sala che ha venduto più biglietti; la funzioneB riceve il puntatore all'albero T e restituisce la struttura (con nome sala, costo biglietto, numero venduti) che ha venduto più biglietti;
Ad esempio, se il file sale.txt  contiene:
A14 8
A13 7
A1 9
e il file biglietti.bin  contiene:
A13 40
A1 126
A14 90
La funzioneC restituisce la struttura:
A1 9 126
poiché la sala A1 ha venduto 126 biglietti, che è il massimo.

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

Si carichino i dati del file biglietti.bin  in un vettore di strutture (i primi 5, le sale sono al massimo 5), lo si ordini sul campo numero biglietti venduti e 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.