// Structures typedef struct Note { float note; char* matiere; struct Note* note_suiv; } T_Note; typedef T_Note* T_ListeNotes; typedef struct Etudiant { int id; char* prenom; char* nom; T_ListeNotes notes; int nbNotes; float moyenne; struct Etudiant* etu_suiv; } T_Etudiant; typedef T_Etudiant* T_ListeEtu; // Prototypes T_Note *creerNote(float note, char *matiere); T_Etudiant *creerEtudiant(int idEtu, char *nom, char *prenom); T_ListeNotes ajouterNote(float note, char *matiere, T_ListeNotes listeNotes); T_ListeEtu ajouterNoteEtu(float note, char *matiere, int idEtu, T_ListeEtu listeEtu); T_ListeEtu supprimerNoteEtu(char *matiere, int idEtu, T_ListeEtu listeEtu); void afficherListeEtu(T_ListeEtu listeEtu); void afficherClassement(T_ListeEtu listeEtu); void afficherSousListes(T_ListeEtu listeEtu, char *matiere); void afficherMenu(); void afficherNotes(T_ListeNotes); void afficherListeTrier(T_ListeEtu); void afficherEtu(T_ListeEtu);