Bonjour,
Soit ANNUAIRE, une structure de tableau à une dimension contenant des enregistrements, les cases du tableau étant numérotées de 1 à MAX. Chaque enregistrement de ce tableau est un article contenant les données d’un étudiant de la promotion et composé des rubriques suivantes :
- Le matricule de l’employé (Matricule de type entier)
- Le nom de l’employé (Nom de type chaîne de caractères)
- L’âge de l’employé (Age de type entier dans l’intervalle AGES=12..30)
- Salaire de base de l’employé (Salaire de type entier dans l’intervalle SALAIRES=150000..750000)
La structure de tableau ANNUAIRE va permettre de simuler le fonctionnement du fichier des employés d’une société. On appellera MEMBRE, la structure enregistrement définie ci-dessus. ANNUAIRE sera donc définie comme étant une structure tableau dont les cases seront de type MEMBRE.
Voilà mon algorithme en pascal :
Pièce jointe 562146
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 CONST MAX=4; Type MEMBRE=Record MATRICULE:Integer; NOM : Char; AGE : 12..30; MOYENNE : 0..20; End; ANNUAIRE=array[1..MAX] of MEMBRE; Var ETUDIANT:MEMBRE; FICHIER:ANNUAIRE; temp:Char; i,j:Integer; BEGIN Writeln('Entrez les données'); For i:=1 To MAX DO Begin Write('MATRICULE : '); Readln(FICHIER[i].MATRICULE); Write('NOM : '); Readln(FICHIER[i].NOM); Write('AGE : '); Readln(FICHIER[i].AGE); Write('MOYENNE : '); Readln(FICHIER[i].MOYENNE); End; For i:=1 To MAX-1 Do Begin For j:=i+1 To MAX Do Begin If FICHIER[j].NOM>FICHIER[i].NOM Then Begin temp := FICHIER[i].NOM; FICHIER[i].NOM := FICHIER[j].NOM; FICHIER[j].NOM := temp; End; End; End; For i:=1 To MAX Do Begin Writeln('MATRICULE : ', FICHIER[i].MATRICULE); Writeln('NOM : ', FICHIER[i].NOM); Writeln('AGE : ', FICHIER[i].AGE); Writeln('MOYENNE : ', FICHIER[i].MOYENNE); End; END.
Le problème est le suivant : j'ai défini la variable MAX en constante car on me disait que l'identifiant n'était pas reconnu, je me dis qu'il y a peut-être une autre manière de le faire sans toutefois utiliser la constante ensuite quand je compile on me dit aucune erreur j'exécute donc l'algorithme et après avoir fini de saisir les données au clavier le programme s'arrête sans aller jusqu'au bout.
Partager