Des types record imbriqués????

Des types record imbriqués???? - Ada - Programmation

Marsh Posté le 10-11-2008 à 19:05:25    

Bonjour,
 
Quelqu'un sait-il faire des types record imbriqués ???
 
Voici un petit programme pour illustrer ma question :
 
with Ada.Text_Io, Ada.Integer_Text_Io;
use Ada.Text_Io, Ada.Integer_Text_Io;
 
procedure Re is
   
 
   type Me is record
      G:integer;
   end record;
   
   type Hug is record
      d:me;
   end record;
       
   M:me;
   H:Hug;
   
   
begin
   
   Put(....    ;
   
end Re;
 
Je voudrais afficher avec put la variable G en passant par hug mais je n'y arrive pas.
Est-ce un problème de déclaration ou d'instruction???
 
j'ai déjà essayé put(H.(M.G)); ou put(H.D.M.G) ou put(H.(D.G)) et ça ne marche pas!! je suis désespéré!!
 
si quelqu'un a la réponse, pouvez-vous me donner le code en entier pour que ça marche.
 
merci

Reply

Marsh Posté le 10-11-2008 à 19:05:25   

Reply

Marsh Posté le 29-01-2009 à 10:20:31    

Et voilà !

Code :
  1. with Ada.Text_Io, Ada.Integer_Text_Io;
  2. use Ada.Text_Io, Ada.Integer_Text_Io;
  3. procedure Re is
  4.  
  5.    type Me is record
  6.       G:integer :=0;
  7.    end record;
  8.  
  9.    type Hug is record
  10.       d:me;
  11.    end record;
  12.      
  13.    M:me;
  14.    H:Hug;
  15.  
  16.  
  17. begin
  18.  
  19.    Put(H.d.G);
  20.  
  21. end Re;


 
Il n'y a pas besoin de parenthèses puisque le '.' n'est pas un operateur.
Par contre, pour une raison de clarté, je te conseille de maintenir la casse cohérente dans ton code même si Ada n'en tient pas compte.
Cela explique le "d" plutôt que le "D" dans mon code.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed