Et bien c'est parfait
Et bien c'est parfait
En fin de compte, j'ai bel et bien un problème d'initialisation pour le tableau non contraint: j'ai voulu faire un premier test pour la saisie et l'affichage, et erreur à la compilation: unconstrained subtype not allowed (need initialization) (à l'endroit en rouge). Pourtant, j'ai bien défini la taille du tableau! Voici le code:
Où est-ce que ça cloche?
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 with Ada.Text_IO, Ada.Integer_Text_IO; use Ada.Text_IO, Ada.Integer_Text_IO; procedure Gestion is -- Définition des types et sous-types subtype Un_Resultat is Natural range 0..20; type Info_Sportif is record Nom: String(1..20); age: Positive; resultat: Un_Resultat; end record; type Un_Tableau_Releve is array(Natural range <>) of Info_Sportif; -- Définition des sous-programmes function Saisir return Un_Tableau_Releve is T: Un_Tableau_Releve; begin for I in T'range loop Put("Veuillez rentrer les noms, âges et résultats des sportifs: "); New_Line(2); Put("Nom: "); Get(T(I).nom); Put("Age: "); Get(T(I).age); Put("Resultat: "); Get(T(I).resultat); Skip_Line; end loop; return T; end Saisir; procedure Afficher(T: in Un_Tableau_Releve) is begin for I in T'range loop Put("Nom: "); Put(T(I).nom); Put("Age: "); Put(T(I).age); Put("Resultat: "); Put(T(I).resultat); end loop; end Afficher; N: Positive; begin Put("Quel est le nombre de sportifs?"); Get(N); Skip_Line; declare T: Un_Tableau_Releve(1..N); begin T:= Saisir; Afficher(T); end; end Gestion;
J'en doute :Pourtant, j'ai bien défini la taille du tableau! Voici le code:
Ici tu crée un tableau non contraint (donc sans taille)
Code : Sélectionner tout - Visualiser dans une fenêtre à part T: Un_Tableau_Releve;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager