Concetti Chiave
- Definizione di strutture dati per rappresentare partite e classifiche, includendo nomi delle squadre e punteggi.
- Implementazione della funzione risultato() per determinare l'esito di una partita: vittoria, sconfitta o pareggio.
- Funzione giornata() aggiorna i punteggi delle squadre sulla base dei risultati di un array di 9 partite.
- Utilizzo della funzione cercaSquadra() per trovare l'indice di una squadra nell'array dei nomi all'interno della classifica.
- Passaggio di parametri per indirizzo per tutte le funzioni implementate, garantendo l'aggiornamento corretto dei dati.
Siano date le seguenti strutture dati per rappresentare il tipo di dato partita contenente il nome della squadraA e della squadraB, il numero di goal della squadraA e il numero di goal della squadraB e il tipo di dato classifica (contenente un array con i nomi delle squadre e un array di interi rappresentante i punti conseguiti dalla varie squadre)
#define MAX_SQUADRE 18
#define DIM_STR 21
typedef struct {
char squadraA[DIM_STR];
char squadraB[DIM_STR];
int goalSqA, goalSqB;
}partita;
typedef struct {
char squadre[MAX_SQUADRE][DIM_STR];
int punti[MAX_SQUADRE];
}classifica;
Utilizzando le strutture dati così dichiarate si implementino le seguenti funzioni:
(a) risultato() che riceve in ingresso una partita e restituisce 1 in caso di vittoria della sqaudraA, -1 in caso di vittoria della squadraB e 0 in caso di pareggio;
(b) giornata() che riceve in ingresso un array di 9 partite e un parametro di tipo classifica contenente i nomi delle squadre e i punti conseguiti nelle precedenti giornate di campionato. La funzione deve modificare opportunamente i punteggi delle squadre sulla base dei risultati delle partite (si ricordi che in caso di vittoria vengono assegnati 3 punti alla squadra vincente e 0 alla perdente mentre in caso di pareggio viene assegnato un punto ad entrambe le squadre). A tale scopo la funzione giornata() deve far uso della funzione risultato() e della funzione cercaSquadra() (da implementare). Scrivi l’istruzione di chiamata della funzione giornata() e definisci le variabili utilizzate.
Indica la direzionalità dei parametri di tutte le funzioni implementate.
N.B. I record devono essere passati per indirizzo.