Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
866 connectés 

  FORUM HardWare.fr
  Programmation
  Ada

  [Resolu]Get_line en début de programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Resolu]Get_line en début de programme

n°2267381
eroge
Posté le 09-10-2015 à 09:09:39  profilanswer
 

Bonjour,  
 
J'ai remarqué que lorsque j'utilise get_line dans une procédure,  à l'éxecution du programme le get_line est toujours demandé en 1er même si il est placé en condition(if then)
 
J'ai vu ceci : Ada.Text_IO.Set_Col (Ada.Text_IO.Standard_Input, 1)  ici : wikiget_line mais je ne comprends pas.
 
Comment faire pour ne plus avoir un get_line au début de l'éxecution d'un programme, mais à la place voulue ?


Message édité par eroge le 10-10-2015 à 05:49:12
mood
Publicité
Posté le 09-10-2015 à 09:09:39  profilanswer
 

n°2267388
antac
..
Posté le 09-10-2015 à 11:09:29  profilanswer
 

Tu peux donner un exemple stp ?

n°2267401
eroge
Posté le 09-10-2015 à 12:45:39  profilanswer
 

Par exemple :
 

Code :
  1. with ada.text_io;  use ada.text_io;
  2.  
  3. Procedure exemple is
  4.           
  5.      nom : string := ada.text_io.get_line ;
  6.      taille_chaine : Natural ;
  7.         
  8. Begin
  9.     put_line("choisissez un nom, en lettres de préférence" );
  10.     put(" :" ); get_line(nom,taille_chaine); skip_line ;
  11.         put("le nom choisis est : " ); put(nom);
  12.  
  13. end exemple ;


 
Aprés compilation, a l'éxecution put_line et put sont ignorés et  get_line est demandé en premier.

n°2267403
Profil sup​primé
Posté le 09-10-2015 à 12:53:47  answer
 

Normal.
 
Tu as un Get_Line dans la partie déclarative de ton programme ; Celle ci étant élaboré avant de rentrer dans le corp du programme.
 

n°2267404
eroge
Posté le 09-10-2015 à 13:20:19  profilanswer
 

Dans ce cas, je ne sais plus comment coder, je voudrais faire un get_line sur un string de taille inconnu(1er parametre).

n°2267405
Profil sup​primé
Posté le 09-10-2015 à 13:40:34  answer
 

En reprenant ton code...

Code :
  1. with ada.text_io;  use ada.text_io;
  2.    
  3.    Procedure exemple is
  4.    begin
  5.  
  6.        put_line("choisissez un nom, en lettres de préférence" );
  7.        put(" :" );
  8.  
  9.        declare
  10.              nom : string := ada.text_io.get_line ;
  11.        begin
  12.              put("le nom choisis est : " ); put(nom);
  13.        exception
  14.              when Text_Io.End_Error =>
  15.                  null;
  16.        end;
  17.    
  18.    end exemple ;

n°2267406
eroge
Posté le 09-10-2015 à 13:49:37  profilanswer
 

ah d'accord merci, jusqu'à maintenant je ne faisais pas de déclaration dans le corps du programme.  
Mais pourquoi il n'y a pas besoin de 2eme parametre pour get_line ?


Message édité par eroge le 09-10-2015 à 13:55:20
n°2267419
Profil sup​primé
Posté le 09-10-2015 à 15:17:25  answer
 

Il n'y en a même aucun.
 
Lis Ada.Text_Io 2005 or later/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Ada

  [Resolu]Get_line en début de programme

 

Sujets relatifs
[Resolu]Basics: GetPouvez-vous me faire un petit programme a la con contre €€
Programme qui se déplace tout seul.Programme qui fonctionne via l'interpreteur mais pas via console linux
Petit programme "anti-bruit"programme qui génère un mot de passe
Besoin d'un logiciel ou d'un programmeprogramme un écran à led
aide programme C[Arduino] Programme accéléromètre analogique
Plus de sujets relatifs à : [Resolu]Get_line en début de programme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR