Corso di Laurea in Ingegneria Elettronica - Università di Roma "La Sapienza"

Corso di Fondamenti di Informatica - A.A. 2001/2002

Nona Esercitazione Autoguidata

Scrivete un programma per la gestione delle informazioni relative ai voli giornalieri in partenza da un certo aeroporto. Il programma deve leggere da file le informazioni relative ai voli, memorizzarle in opportune strutture di dati e consentire l'aggiornamento del numero di posti liberi di un determinato volo e la cancellazione di un volo una volta partito.
Di ciascun volo il file memorizza il numero, la destinazione, l'orario di partenza ed il numero dei posti liberi. Considerate, ad esempio, il seguente file voli.dat:

AZ111 milano       12:34 23
AZ222 buenos-aires 12:55 245
BA333 toronto       4:15 20
KM444 madrid       10:12 100

ESERCIZIO 1

Progettate le strutture di dati adatte a mantenere le informazioni lette da file. In particolare utilizzate una lista realizzata tramite strutture e puntatori. Ogni struttura deve contenere le seguenti informazioni:
  1. numero del volo (stringa di 5 caratteri senza spazi bianchi);
  2. destinazione del volo (stringa di al più 20 caratteri senza spazi bianchi);
  3. orario di partenza, espresso in ore e minuti (struttura a due campi interi);
  4. numero di posti liberi (intero).

ESERCIZIO 2

Scrivete una funzione che crei una lista di voli leggendo le informazioni da file. La funzione deve

Scrivete una funzione che, prendendo come parametro il puntatore iniziale della lista dei voli in partenza, stampi su standard output il numero, la destinazione, l'orario di partenza e il numero di posti liberi di ciascun volo.

Scrivete la funzione main che attiva in modo opportuno le due funzioni precedenti.

ESERCIZIO 3

Scrivete una funzione per l'aggiornamento del numero dei posti liberi di un determinato volo. La funzione deve ricevere come parametri il puntatore iniziale della lista dei voli, il numero del volo ed il nuovo valore da assegnare al numero dei posti liberi, ed aggiornare la lista in modo opportuno.

ESERCIZIO 4 (opzionale)

Scrivete una funzione che elimini un volo dalla lista dei voli in partenza. La funzione deve ricevere come parametri il puntatore iniziale della lista ed il numero del volo da eliminare, ed aggiornare la lista eliminando il volo.