/************* Esercitazione 1 **************/ /*************************************************************************** Si vuole informatizzare la gestione di una ditta di autotrasporti dotata di una serie di automezzi in grado di trasportare differenti tipologie di merci (surgelati, carne, merce non deperibile, ...). In un file sono conservate le informazioni relative a tutte gli automezzi ed alle spedizioni effettuate fino alla data odierna. Ogni registrazione e' separata dalla successiva dal carattere '*' ed, in particolare, contiene le seguenti informazioni: - codice automezzo (intero)(chiave primaria cioe' non esistono piu' automezzi con lo stesso codice) - capienza in metri cubi (intero) - tipologia di merci (intero)(0 = surgelati, 1=carne, ...) - numero di chilometri effettuati (intero) - data spedizione 1 (stringa) - destinazione spedizione 1 (stringa) - chilometri percorsi per la spedizione 1 (intero) - metri cubi spedizione 1 (intero) - data spedizione 2 (stringa) - destinazione spedizione 2 (stringa) - chilometri percorsi per la spedizione 2 (intero) - metri cubi spedizione 2 (intero) ... * Tutti questi dati devono essere rappresentati in memoria centrale utilizzando una lista collegata per memorizzare gli automezzi. Per ciascun automezzo deve essere, inoltre, presente la lista delle spedizioni con esso effettuate. Lo studente implementi un programma in C che preveda le seguenti funzionalita': 1. Caricamento dei dati dei file nella struttura descritta precedentemente 2. Stampa a video dell'intera struttura (automezzi ed elenco delle spedizioni per ciascun automezzo) 3. Inserimento di una nuova spedizione dato il codice di un automezzo. Tale inserimento deve anche aggiornare il numero di chilometri effettuati dall'automezzo tenendo conto dei chilometri percorsi per effettuare la consegna. 4. Scrittura su file di tutti gli automezzi che hanno percorso piu' di una data quantita' di chilometri. 5. Data una tipologia di merci da trasportare e la quantita' in metri cubi richiesta, stampare a video tutti gli automezzi che posseggono tali requisiti. *******************************************************************************/ /************ Esercitazione 2 ****************/ /****************************************************************************** Si vuole informatizzare la gestione delle prenotazioni degli studenti per l'accesso ai laboratori di informatica di una facolta' universitaria. Attualmente in un file di testo sono memorizzati i dati relativi a tutti i laboratori. Ogni registrazione presente nel file contiene i dati relativi ad ogni laboratorio, ed in particolare: - Nome del laboratorio (stringa di caratteri)(chiave) - Ubicazione (stringa di caratteri) - Numero massimo di postazioni (intero) Tutti i laboratori restano aperti dalle ore 9.00 alle ore 19.00. Le prenotazioni possono avere la durata massima di un'ora con turni che iniziano ogni ora (primo turno alle ore 9.00, secondo alle ore 10.00, ...). In un secondo file sono memorizzate le informazioni che riguardano gli studenti che si sono prenotati per l'accesso ai laboratori in un dato giorno. Tale file contiene, in ogni registrazione, le seguenti informazioni: - Nome e Cognome dello studente (stringa) - Numero di matricola (stringa)(chiave) - Data della prenotazione (stringa aaaammgg) - Ora della prenotazione (intero) - Nome del laboratorio per il quale e' stata effettuata la prenotazione (stringa) Tutti questi dati devono essere rappresentati in memoria centrale utilizzando una lista collegata per memorizzare i laboratori. Per ciascun laboratorio deve essere, inoltre, presente la lista degli studenti che hanno effettuato una prenotazione per quel dato laboratorio. Lo studente implementi un programma in C che preveda le seguenti funzionalita': 1. Caricamento dei dati dai file nella struttura dati precedentemente definita. 2. Stampa a video di tutti quei laboratori per i quali risultano prenotati, per ciascuna ora, un numero di studenti superiore al numero massimo di postazioni disponibili. 3. Data una determinata ora del giorno, stampare a video il laboratorio meno utilizzato e quello piu' utilizzato. 4. Inserimento di una nuova prenotazione dato il nome del laboratorio, la data e l'ora della prenotazione e i dati dello studente, previa verifica che vi siano ancora posti disponibili. ******************************************************************************/ /************** Esercitazione 3 ****************/ /***************************************************************************** Si vuole informatizzare la gestione delle prenotazioni per gli appelli d'esame di un dato corso di laurea. Attualmente in un file di testo sono memorizzati i dati relativi a tutti gli appelli del corso. Ogni registrazione presente nel file contiene i dati di relativi ad ogni appello, ed in particolare: - nome della materia (stringa di caratteri) - nome e cognome del docente (stringa di caratteri) - data appello (stringa di caratteri) (Limitazione: Non e' possibile avere due esami della stessa materia lo stesso giorno). In un secondo file sono memorizzate le informazioni riguardanti i prenotati. Tale file contiene, in ogni registrazione, le seguenti informazioni: - matricola studente (stringa di caratteri) (chiave) - nome e cognome dell'utente (stringa di caratteri) - nome della materia per la quale si prenota (stringa di caratteri) - data dell'appello (stringa di caratteri) Tutti questi dati devono essere rappresentati in memoria centrale utilizzando una lista collegata per memorizzare gli appelli. Per ciascun appello deve essere, inoltre, presente la lista degli studenti prenotati per quel dato appello. Lo studente implementi un programma in C che preveda le seguenti funzionalita': 1. Caricamento dei dati dai file nella struttura dati precedentemente definita. 2. Stampa a video di tutti gli studenti prenotati per un dato appello (data la materia e la data dell'appello). 3. Stampa a video di tutti gli appelli ai quali un dato studente si e' prenotato (data la matricola dello studente). 4. Eliminazione dalla struttura dati in memoria di tutti quegli appelli antecedenti ad una data e salvataggio degli stessi in un file di testo. Ogni registrazione presente in tale file deve contenere i dati relativi all'appello e agli studenti prenotati. Le registrazioni sono separate dal carattere '*'. *****************************************************************************/