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:\