Corso di Programmazione - Prova Pratica - Secondo Appello - 13 febbraio 2002 - prova 123

L'esame di oggi ha a che fare con le Olimpiadi invernali di Salt Lake City.

Il tipo enumerazione Sport rappresenta le diverse discipline sportive: fondo, slittino, discesa, pattinaggio.

Il tipo enumerazione Nazione rappresenta i diversi paesi di provedinenza : Italia, Usa, Germania, Austria, Canada.

Il tipo enumerazione Medaglia rappresenta le tre medaglie attribuibili in ogni specialità: oro, argento, bronzo.

Gli elementi del tipo record Atleta rappresentano i singoli atleti, caratterizzati dal numero di pettorale, dalla nazione di provenienza, dallo sport praticato, e dalla posizione in classifica (1 se ha vinto, 2 se e' arrivato secondo, eccetera. 0 rappresenta il fatto che non ha ancora disputato la gara).

Il tipo ListaAtleti è una lista semplice di Atleti.

Il tipo Medagliere è un array bidimensionale di interi: se m è una variabile di tipo Medagliere che rappresenta lo stato dell'attribuzione delle medaglie, la cella m[oro][Usa] conterrà il numero di medaglie d'oro conquistate dalla squadra statunitense.

	typedef enum Sport {fondo, slittino, discesa, pattinaggio} Sport;
	typedef enum Nazione {Italia, Usa, Germania, Austria, Canada} Nazione;
	typedef enum Medaglia {oro, argento, bronzo} Medaglia;

typedef struct {int pettorale; Sport sport; Nazione nazione; int posizione;} Atleta;
typedef struct ListaAtleti {Atleta atleta;
struct ListaAtleti *prossimo;} ListaAtleti; typedef int Medagliere[3][5];
 

Implementare le seguenti procedure:

  1. void stampa_medagliere(Medagliere m);

    Questa funzione deve produrre sullo standard output una rappresentazione del medagliere passato come parametro attuale.


  2. int verifica(Medagliere m, ListaAtleti* a);

    Questa funzione deve verificare se il medagliere m corrisponde alla situazione rappresentata dalla lista di atleti passata come parametro attuale. La funzione deve restituire 1 in caso affermativo, e 0 altrimenti.


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