Bon, voilà, je vous présente mon problème : je suis en première année d'école d'ingénieurs et jai un programme à realiser (gestion d'une compagnie d'assurances ). Jusqu'à présent, on s'était contenté d'étudier les variables dynamiques de type pointeur de manière théorique et, au début, ça allait. Mais là j'ai un gros problème avec elles.
J'ai créé une liste ordonnée (récupérée dans un fichier texte) et je voudrais lui chaîner un nouvel élément. Pour ceci, j'ai créé une procédure mais ça ne marche pas (lors de l'exécution, ma fenêtre se referme brusquement).
Voici la syntaxe de cette procédure, si quelqu'un pouvait bien m'expliquer mon erreur, merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
---------------declaration des types employes( ca peut etre utile)----------
interface
 
//Définition de type
type
T_donnee = record
           nom:string;  //nom du societaire
           coeff_malus:real;  //coefficient malus du societaire
           cotisation_base:real;    //cotisation de base du societaire
           end;
T_ptr_societaire=^T_societaire;
T_societaire = record
                info_societaire : T_donnee;
                psuiv: T_ptr_societaire;
                end;
 
--------------------------declaration du ssp----------------------------
PROCEDURE AJOUT_VD_LO(pnouvLO:T_ptr_societaire;var pdebLO:T_ptr_societaire);
 
var
pcour:T_ptr_societaire;    //type de mon pointeur
trouve:boolean;
 
begin
trouve:=false;
pcour:=pdebLO;
while (not trouve) and (pcour<>nil) do
  if pnouvLO^.info_societaire.nom<pcour^.info_societaire.nom
    then
      trouve:=true
    else
      begin
        pcour:=pcour^.psuiv;
  if pcour^.info_societaire.nom=pnouvLO^.info_societaire.nom
    then
       //ne rein faire
    else
      begin
        pcour^.psuiv:=pcour;
        pcour^.info_societaire:=pnouvLO^.info_societaire;
      end;
end;