[Resolu]Basics: Get

Basics: Get [Resolu] - Ada - Programmation

Marsh Posté le 07-10-2015 à 17:05:22    

Bonjour, je voudrais savoir si il est possible de faire un Get sur un String sans valeur.
 
Je sais que String est défini par sa longueur et non un caractére de début et de fin.
Je sais aussi que je pourrai faire un get_line, cependant un simple get me serait plus utile et optimiserait mon code.
 
Voici un code que j'ai déjà utilisé mais qui ne se compile pas.
 
   

Code :
  1. with ada.text_io ;     use ada.text_io;
  2. Procedure essai is
  3.      
  4. mot : string := ada.text_io.get;
  5. Begin
  6. Put(     "ton mot ? : " ); Get(mot); Skip_line ;
  7. Put("Ton mot est : "mot);
  8. end essai ;


Message édité par eroge le 07-10-2015 à 20:41:47
Reply

Marsh Posté le 07-10-2015 à 17:05:22   

Reply

Marsh Posté le 07-10-2015 à 18:28:35    

Bon jour eroge,
 
la balise code initialisée avec Ada syntax : code=ada
 

Code :
  1. with ada.text_io ;     use ada.text_io;
  2.    Procedure essai is
  3.        
  4.    mot : string := ada.text_io.get;
  5.    Begin
  6.    Put(     "ton mot ? : " ); Get(mot); Skip_line ;
  7.    Put("Ton mot est : "mot);
  8.    end essai ;


 
Pour initializer une_cahaine_vide : striing := "";
Je suis pas certain que Get existe pour une chaine.
Puis tu écrase une chaine vide potentielle inmodifible.

Message cité 1 fois
Message édité par Profil supprimé le 07-10-2015 à 18:29:25
Reply

Marsh Posté le 07-10-2015 à 18:45:55    

Ligna 4 tu peux pas appeller une procédure comme une fonction.

Reply

Marsh Posté le 07-10-2015 à 19:16:38    


Merci
 
 
Je n'ai pas compris pourrais -tu développer ?  Par inmodifible tu entendais "constant" ?
 

Reply

Marsh Posté le 07-10-2015 à 19:42:45    

Ben oui.

Reply

Marsh Posté le 14-06-2019 à 11:39:47    

Bonjour,
Voici une solution à ton problème de chaine à taille variable:
 
 

Code :
  1. with Text_Io; use Text_IO;
  2. procedure Main is
  3.  
  4.   mot_lu : String(1..80);
  5.   taille : Natural;
  6. begin
  7.  
  8.   Put("Ton mot? " );
  9.   Get_Line(mot_lu, taille);
  10.   declare
  11.      mot : String(1..taille) := mot_lu(1..taille);
  12.   begin
  13.      Put("Ton mot est: " );
  14.      Put(mot);
  15.      Skip_Line;
  16.   end;
  17.  
  18. end Main;


Reply

Marsh Posté le 14-06-2019 à 12:24:51    

Toi aussi tu devrais regarder la date. :o

Reply

Sujets relatifs:

Leave a Replay

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