Bonjour ! Je suis débutant en Pascal et je voudrais créer un programme qui gère les notes et les étudiants. Voici le programme en question :

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
 
 
program gestion_des_notes;
uses Crt;
label 1;
type matiere=record
       nom_m:string[20];
       coef:integer;
       note_cc:real;
       note_sn:real;
       note_fin:real;
     end;
type Tdate=record
       jour: 1..31;
       mois: 1..12;
       annee:1980..1998;
     end;
type etudiant=record
        nom:string[20];
        prenom:string[20];
        sexe:char;
        naissance:Tdate;
        matricule:string[7];
        note:array[1..7] of matiere;
      end;
 
 
var
    etud: array[1..60] of etudiant;
    ok : boolean;
    s : string;
    n,g,H,a,err,nbre_etud_a_traiter,i,j,y,u :integer;
    fichier1: FILE OF etudiant;
    fichier2: FILE OF etudiant;
    fichier3: FILE OF etudiant;
 
procedure AfficheMenu;
        begin
           1: TextColor(11);
            writeln('-----------------------------------| MENU |------------------------------------');
            TextColor(10);
            writeln('                   15- Enregistrer un etudiant');
            writeln('                   16- Entrer le nom d''une matiere pour vos operations');
            writeln('                   17- Lister les etudiants par ordre alphabatique');
            writeln('                   18- Lister les etudiants par ordre de merite');
            writeln('                   19- Ajouter 1 aux etudiants dont les notes sont ');
            writeln('                   comprisent entre 3 et 9');
            writeln('                   20- Ajouter 1.5 aux etudiants dont les notes sont ');
            writeln('                   comprisent entre 10 et 14');
            writeln('                   21- Ajouter 2 aux etudiants dont les notes sont ');
            writeln('                   superieures ou egales a 15');
            writeln('');
            writeln('Faites votre choix: ');
               repeat
               writeln('Vous devez faire un choix compris entre 15 et 21: ');
               readln(s);
               val(s,n,err);
               if ((err=0) and (n>=15) and (n<=21)) then ok:=true;
               until ok ;
 
               CLrScr;
        end;
 
procedure AfficheEntete;
        begin
              TextColor(11);
              writeln('-------------------GESTION DES NOTES D''ETUDIANTS DE LA GL1B--------------------');
              TextColor(9);
              writeln('------------------------------LISTE DES MATIERES--------------------------------');
              TextColor(9);
              writeln('                   1- PASCAL                       8-  CHINOIS          ');
              writeln('                   2- ALGORITHMIQUE                9-  CISCO ');
              writeln('                   3- ANALYSE                      10- C. LOGIQUE');
              writeln('                   4- ALGEBRE                      11- E. ECRITE');
              writeln('                   5- ANGLAIS                      12- SPORT');
              writeln('                   6- COMPTABILITE                 13- ARITHMETIQUE');
              writeln('                   7- E. ECONOMIQUE                14- A. DES ORDINATEURS');
        end;
 
procedure creerEtudiant(var fichier1dup: file of etudiant);
 
     begin
       assign(fichier1dup,'F:\etudiants.txt');
       rewrite(fichier1dup);
       writeln('Entrer le nombre d''etudiants a enregistrer (60 maxi)');
       readln(nbre_etud_a_traiter);
        a:=0;
       for i:= 1 to nbre_etud_a_traiter do
           begin
               writeln('Entrez le nom de l''etudiant N° ',i,' : ');
               readln(etud[i].nom);
               writeln('Entrez le prenom de ',etud[i].nom,' : ');
               readln(etud[i].prenom);
               writeln('Entrez le sexe de ',etud[i].nom,' (M pour masculin, F pour feminin) : ');
               readln(etud[i].sexe);
               writeln('Entrez la date de naissance : ');
               writeln('Jour : ');
               readln(etud[i].naissance.jour);
               writeln('Mois : ');
               readln(etud[i].naissance.mois);
               writeln('Annee : ');
               readln(etud[i].naissance.annee);
               writeln('Entrez son matricule : ');
               readln(etud[i].matricule);
               writeln('A present veuillez entrez les notes de ',etud[i].nom,' dans les differentes matieres : ');
               for j:=1 to 2 do
                 begin
                     writeln('Nom de la',j,'eme matiere  : ');
                     readln(etud[i].note[j].nom_m);
                     writeln('Coefficient de la matiere : ');
                     readln(etud[i].note[j].coef);
                     writeln('Note de controle continu : ');
                     readln(etud[i].note[j].note_cc);
                     writeln('Note de session normale : ');
                     readln(etud[i].note[j].note_sn);
                 end;
                 seek(fichier1dup,a);
                 write(fichier1dup,etud[i]);
                 a:=a+1;
           end;
       close(fichier1dup);
     end;
 
 
procedure afficheEtudiant(var fichier1dup : file of etudiant);
 
        begin
             reset(fichier1dup);
 
             writeln('Liste des etudiants pre-enregistres : ');
             y:=1;
 
             while not (eof (fichier1dup)) do
                 begin
                     read(fichier1dup, etud[i]);
                     y:=y+1;
                 end;
           u:=y-1;
           for y:=1 to u do
                       begin
                           write(etud[i].nom,' ',etud[i].prenom,' ');
                           write(etud[i].nom);
                           readln();
                           goto 1;
                       end;
          close(fichier1dup);
       end;
 
 
BEGIN
 
     ok:=false;
 
      AfficheEntete();
      AfficheMenu();
      CASE n OF
      15: creerEtudiant(fichier1);
      16: AfficheEtudiant(fichier1);
      ELSE writeln('Choix inexistant');
      END;
 
     readln();
END.
Il s'exécute mais le problème est que lorsque je fais le choix 16, la fenêtre de la console disparaît instantanément. Un autre problème c'est que le fichier etudiant.txt est créé mais rien n'est affiché à l'intérieur. Je ne sais donc pas si les données saisies sont effectivement enregistrées. Merci de votre aide.