C
, déclarer des variables de ce
nouveau type et utiliser ces variables dans des fonctions C.C
en utilisant les structures,
écrire les fonctions de base pour ajouter et retirer des éléments.Contexte: Nous travaillerons sur les matches de la saison régulière 2022-23 de la NBA (ligue de basket-ball nord-américaine). Chaque match est représenté par une structure contenant les informations suivantes:
YYYY-MM-DD
team1
et team2
) qui sont représentées par leur acronyme sur 3 lettres (par exemple: BOS
pour les Boston Celtics)elo1_pre
pour l’équipe 1 et elo2_pre
pour l’équipe 2), la probabilité de victoire suivant cet ELO (elo_prob1
pour l’équipe 1 et elo_prob2
pour l’équipe 2) et enfin pour les matches écoulés le classement ELO recalculé après le match (elo1_post
pour l’équipe 1 et elo2_post
pour l’équipe 2). Toutes ces valeurs sont des réelsscore1
= nombre de points de l’équipe 1, score2
= nombre de points de l’équipe 2) avec des entiersquality
entier)importance
entier)total_rating
entier)Les données viennent du site 538 et sont stockées au format CSV
dont voici un extrait
Il s’agit d’une représentation tabulaire où chaque colonne est séparée par une virgule. Quand, pour une colonne donnée, il n’y a pas de valeur dans ce cas il n’y aucun caractère.
Les données complètes sont téléchargeables ici
N’oubliez pas de tester vos fonctions au fur et à mesure pour s’asssurer de leur bon fonctionnement !
reponse.c
et reponse.h
qui vous devrez envoyer à la fin de la deuxième séance.nba_2023.csv
) et qui l’affiche ligne par ligne puis le ferme. Le prototype de la fonction sera void print_file_content(char filename[]);
scanf
.
void process_file(char filename[]);
.struct nba_game_t;
1230
). Le nom de votre structure devra être struct nba_season_t;
void process_file_into_list(char filename[], struct nba_season_t * m);
.void display_played_games(struct nba_season_t m);
. On pourra par exemple utiliser l’affichage suivant:
2022-10-18
BOS 126 -- PHI 117
GSW 123 -- LAL 109
2022-10-19
DET 113 -- ORL 109
IND 107 -- WAS 114
MIA 108 -- CHI 116
TOR 108 -- CLE 105
MEM 115 -- NYK 112
BRK 108 -- NOP 130
ATL 117 -- HOU 107
MIN 115 -- OKC 108
SAS 102 -- CHO 129
UTA 123 -- DEN 102
PHO 107 -- DAL 105
SAC 108 -- POR 115
void compute_best_team(struct nba_season_t m, char team[3]);
.void list_wrong_bets(struct nba_season_t m);
. La ligne suivante du fichier est un exemple de match où le favori (MIA
) a perdu 108-116
2022-10-19,MIA,CHI,1617.95310870384,1447.48900636508,0.8259104491351971,0.17408955086480293,1598.81471441712,1466.6274006518,108,116,76,19,48
voidlist_wins_losses_team(struct nba_season_t m, char team[3]);
.void list_wins_losses_team_sorted(struct nba_season_t m, char team[3]);
.