Corso di Programmazione - Prova Pratica - Primo Appello - 25 gennaio 2002 - prova 113

L'esame di oggi ha a che fare con film e tessere cinematografiche.

Il tipo enumerazione Genere rappresenta le diverse tipologie di film: per_bambini, vietato_ai_minori, impegnato, thriller.

Gli elementi del tipo record Film rappresentano i singoli film, caratterizzati dal titolo, dal genere, e dalla durata (in minuti).

Il tipo Stagione è una lista semplice di Film.

Il tipo Abbonamento è un array di lunghezza N fissata. Un valore di tipo Abbonamento è un array di stringhe: i suoi elementi sono i titoli degli N film della stagione per i quali lo spettatore in possesso di tale abbonamento ha diritto all'accesso gratuito.

	typedef enum Genere {per_bambini, vietato_ai_minori, impegnato, thriller} Genere;
typedef struct {char* titolo; Genere genere; int durata;} Film;
typedef struct Stagione {Film film;
struct Stagione *prossimo;} Stagione; typedef char* Abbonamento[N];

Implementare le seguenti procedure:

  1. Genere Prevalente(Abbonamento abb, Stagione* s);

    Questa funzione restituisce il genere che che ha maggiori occorrenze tra i film dell'abbonamento abb relativo alla stagione s. In caso di parità, la funzione restituisce uno qualsiasi dei generi più presenti.

  1. void Stampa_s(Stagione* s);

    Questa funzione deve essere definita in modo ricorsivo, e deve produrre una rappresentazione completa sullo standard output dei film presenti nella lista passata come parametro attuale



Per consegnare la prova, utilizzare la procedura di consegna delle esercitazioni usata durante il corso, come se fosse l'esercitazione 113, inserendo tutte e sole le procedure realizzate da voi in un unico esercizio.