Diploma Universitario in Ingegneria Elettronica

Diploma Universitario in Ingegneria Informatica


Fondamenti di Informatica II


Prova d'esame del 6 febbraio 2004



Il file di testo HOTEL.DAT contiene le descrizioni degli hotel di una nota località turistica. Ogni riga del file comprende 5 campi separati da punto e virgola:

1) nome dell'hotel;

2) categoria (espressa in stelle con un numero da 1 (*) a 5 (*****));

3) prezzo della stanza in bassa stagione;

4-5) data di inizio e fine dell'alta stagione (espressa come mese e giorno)

Ad esempio:\


Antares;****;130000;0122;0318

Granvara;*****;170000;0122;0318

Ingram;**;90000;0115;0315

Laurin;***;110000;0120;0315

Sporthotel;****;140000;0115;0320


Scrivere un programma C che legga ciclicamente da tastiera un carattere indicante un'operazione da eseguire; i valori consentiti per tale carattere e le rispettive operazioni sono:

'V' visualizza (a video) l'elenco degli hotel in ordine alfabetico;

'G' genera 5 file di testo, HOTEL1.TXT...HOTEL5.TXT, contenenti ciascuno i dati degli hotel della corrispondente categoria, un hotel per riga, in ordine decrescente di prezzo: in ogni riga occorre riportare il nome dell'hotel, il prezzo della stanza, e la data iniziale e finale di applicazione della tariffa di alta stagione;

'R' chiede all'utente una categoria (da "*" a "*****"), un costo massimo e una data, e stampa a video l'elenco degli hotel di quella categoria in cui la stanza, nel giorno richiesto (ricordare il supplemento alta stagione del 30%), abbia un prezzo non superiore al massimo fornito.

'U' uscire dal programma;


Il programma, alla paertenza, deve leggere il file e caricare tutti i dati in un albero binario di ricerca la cui chiave sia il nome dell'hotel.


Il programma deve essere adeguatamente commentato; le prime righe devono contenere i dati anagrafici del candidato (nome, cognome, matricola ed e-mail), ben evidenziati.


Salvare il programma in Z:\