Fondamenti di Informatica Modulo A - Compito \letteracompito
Fondamenti di Informatica Modulo A - Compito A
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:
- nome sala: stringa contenente al più 4 caratteri, senza spazi
- costo biglietto: intero (espresso in euro)
Un secondo file, binario,
biglietti.bin
contiene i dati dei biglietti venduti per le varie sale. Ciascuna linea contiene:
- nome sala: stringa contenente al più 4 caratteri, più il terminatore
- biglietti venduti: intero
Si realizzi un programma C, organizzato in almeno due funzioni, rispettivamente dedicate a:
- 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;
- 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.txt
contiene:
e il file
biglietti.bin
contiene:
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.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.