with Ada.Unchecked:Deallocation;
package Immatriculation is
type T_Info is
record
Etudiant : T_Etudiant;
Numero : Positive;
Date : T_Date;
end record
type T_Element;
type T_Lien is access T_Element;
type T_Element is
record
Information : T_Info;
Suivant : T_Lien;
end record;
type T_Queue_Dynamique is
record
Tete : T_Lien;
Queue: T_Lien;
end record
procedure Libérer is new Ada.Unchecked.Deallocation(T_Element, T_Lien);
Liste_Vide : exception; -- Si la liste est vide
-- Insère un etudiant avec toutes ses informations en fin de liste
procedure Insérer_Etudiant (Liste : in out T_Queue_Dynamique; Info : in T_Info);
-- Supprime l'etudiant avec toutes ses informations, séléctionné par son numero
procedure Effacer_Etudiant (Liste : in out T_Queue_Dynamique; Info : out T_Info);
-- Affiche toutes les immatriculations deja insérée dans l ordre d'entrée
procedure Tout_Afficher (Liste : in T_Queue_Dynamique);