Corso di Programmazione - Prova Pratica - Primo Appello - 23 gennaio 2003- prova 51

L'esame di oggi ha a che fare con una biblioteca.

Il tipo enumerazione TipoLibro rappresenta il tipo di libro: romanzo, saggio, viaggi, scolastico.

Gli elementi del tipo record Libro rappresentano i singoli libri, caratterizzati da tre campi: autore (di tipo char*), titolo (anch'esso di tipo char*), tipo (di tipo TipoLibro), e data (un array di tre interi, i cui elementi sono giorno, mese ed anno in cui il libro è stato catalogato).

Il tipo Libreria è una lista semplice di elementi di tipo Libro.

	typedef enum TipoLibro {Romanzo,Saggio,Viaggi,Scolastico} TipoLibro;

typedef struct {char* autore; /* es. Melville
char* titolo; /* Moby Dick
TipoLibro tipo; /* romanzo
int data[3]; /* {10, 12, 2002}
} Libro;
typedef struct Libreria {Libro item;
struct Libreria* next;} Libreria;

Implementare le seguenti procedure:

  1. int conta(Libreria* libreria, TipoLibro tipologia);

    Questa funzione deve restituire il numero di libri presenti in libreria il cui tipo coincide con il valore passato come secondo parametro .



  2. Libreria* ultimissimi();

    Questa funzione deve restituire la lista degli ultimi due libri che hai letto, catalogandoli con la data di oggi.



  3. void stampa(Libreria* libreria);

    Questa procedura deve dare una rappresentazione sullo standard output di tutto il contenuto della libreria passata come parametro attuale.


Per consegnare la prova, utilizzare la procedura di consegna delle esercitazioni usata durante il corso, come esercitazione 51, inserendo tutte e sole le procedure realizzate da voi (una per esercizio).