Fondamenti di Informatica Modulo A - Compito \letteracompito

Fondamenti di Informatica Modulo A - Compito B

Prof. Evelina Lamma

12 giugno 2013

Esercizio (punti 20)

Una multisala cinematografica in file binario  sale.bin  memorizza le informazioni sui costi dei biglietti di ciascuna sala. Ciascuna riga contiene: Un secondo file, di testo, biglietti.txt  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 il guadagno complessivo della multisala, ottenuto sommando per tutti i nodi il prodotto del costo biglietto moltiplicato per i biglietti venduti; la funzioneB riceve il puntatore all'albero T e restituisce un intero;
Ad esempio, se il file sale.bin  contiene:
A14 8
A13 7
A1 9
e il file biglietti.txt  contiene:
A13 405
A1 126
A14 90
la funzioneB restituisce il risultato di (126*9+405*7+90*8).

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

Si carichino i dati del file biglietti.txt  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.