IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ada Discussion :

comparaison & affichage de generique


Sujet :

Ada

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 18
    Points
    18
    Par défaut comparaison & affichage de generique
    Bonjour,

    Je cherche à retourner le minimum d'une simple liste chaînée avec des éléments génériques (int ou string).

    Les fichiers sont définis comme ceci :
    ensemble.ads
    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
    generic
    	type element is private;
     
    package ensemble is 
     
    	type Liste is private;
    	[]
     
    	private
    	type Cellule;
    	type Liste is access Cellule;
    	type Cellule is record 
    		I:element;
    		next:Liste;
    	end record;
     
    end ensemble;
    le fichier ensemble.adb correspondant

    main.adb
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure main is 
    	type mot is new String(1..4);
    	package ensemble_string is new ensemble(mot);
    	use ensemble_string;
    	recup1:mot := "toto";
    	recup2:mot := "tata";
    begin 
    	if recup1>recup2 then put (recup1);
    	else put (recup2);
    	end if;
    end main;
    En gros, le compilateur me renvoie 2 erreurs : il ne peut pas afficher les éléments et il ne peut pas les comparer non plus.
    Et impossible de trouver comment faire… HELP ! >_<
    Merci pour votre aide !

    PS : si quelqu'un savait aussi comment définir un string de longueur variable, ce serait génial !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Points : 19
    Points
    19
    Par défaut Importer les bons packages
    En Ada il est bon de connaître les packages de base du système et importer ceux dont on a besoin. Les chaines de caractères de longueurs variables quelconques sont les unbounded_string en Ada (attention il faut là aussi importer les bon packages).
    Le code suivant compile et s'exécute bien.

    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
    With Ada.Text_Io;
    Use Ada.Text_Io;
     
    Procedure Main Is
      Generic
        Type Element Is Private;
     
      Package Ensemble Is
        Type Liste Is Private;
      Private
        Type Cellule;
        Type Liste Is Access Cellule;
        Type Cellule Is
        Record
          I:Element;
          Next:Liste;
        End Record;
      End Ensemble;
     
      Type Mot Is New String(1..4);
      Package Ensemble_String Is New Ensemble(Mot);
      Use Ensemble_String;
      Recup1 : Mot := "toto";
      Recup2 : Mot := "tata";
    Begin
      If Recup1>Recup2 Then
        Put (string(Recup1));
      Else
        Put (string(Recup2));
      End If;
    End Main;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/10/2009, 09h12
  2. Affichage de deux requetes pour comparaison
    Par Myogtha dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/02/2009, 13h34
  3. Réponses: 5
    Dernier message: 20/11/2008, 11h20
  4. [MySQL] Affichage sur requête à condition / comparaison
    Par xyvrak dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 29/03/2007, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo