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

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

Il tipo enumerazione TipoCD rappresenta il tipo di musica contenuta nel disco: pop, rock, easy, metal.

Gli elementi del tipo record Disco rappresentano i singoli CD musicali, caratterizzati da tre campi: cantante (di tipo char*), titolo (anch'esso di tipo char*), tipo (di tipo TipoCD).

Gli elementi del tipo Album sono tabelle che possono contenere 2 elementi di tipo Disco.

	typedef enum TipoCD {Pop,Rock,Easy,Metal} TipoCD;

typedef struct {char* autore; /* es. Zucchero
char* titolo; /* Oro, Incenso e Birra
TipoCD tipo; /* Rock
} Disco; typedef Disco Album[2];

Implementare le seguenti procedure:

  1. Album* copia(Album album);

    Questa funzione deve restituire una copia dell'album passato parametro attuale.



  2. void modifica(Album album);

    Questa procedura deve modificare la collezione passata come parametro attuale, che si suppone contenga almeno tre dischi, invertendo nellla lista il secondo elemento con il terzo.



  3. int stampa(Album album, TipoCD tipo);

    Questa funzione deve dare una rappresentazione sullo standard output di tutti i dischi contenuti in album. La funzione restituisce 1 se entrambi i dischi sono dello stesso tipo, e 0 altrimenti.


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