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

Turbo Pascal Discussion :

[TP] Read/ReadLn ? [FAQ]


Sujet :

Turbo Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut [TP] Read/ReadLn ?
    Voilà, j'ai un souci et impossible de savoir lequel !
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Var mess:string;
     
    [...]
     
    Begin
    Writeln('Entrez le message à coder')
    Read(mess);
    Readln;
    Writeln('Le message que vous avez tapé est le suivant :',mess);
    End.
    Ce que j'obtiens à l'execution est :
    "Entrez le message à coder
    Le message que vous avez tapé est le suivant:"
    Ou est le souci ? Merci d'avance !

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Kio,

    Je ne vois rien qui empêche ton programme de fonctionner (à part qu'il ne doit pas compiler, manque un ; (signalé ci-dessous)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Var mess:string;
    
    [...]
    
    Begin
    Writeln('Entrez le message à coder') { ici manque le ; }
    Read(mess);
    Readln;
    Writeln('Le message que vous avez tapé est le suivant : ',mess);
    End.
    Et qu'une bonne pratique est d'utiliser ReadLn plutôt que Read pour lire une donnée au clavier.

    Sans oublier une petite mise en forme (indentation, etc. )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Var mess:string;
     
    [...]
     
    Begin
      Write('Entrez le message à coder : ') ;
      ReadLn(mess);
      Writeln('Le message que vous avez tapé est le suivant :',mess);
    End.
    (Les petites modifications permettent une meilleure présentation à l'écran, mais c'est très subjectif)

    ps : pense à encadrer ton code par les balises [ code] [ /code], sans les espaces qui ne sont là que pour invalider ces balises.
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut en fait...
    le ; y était et ca compilait parfaitement. Mais ca ne marchait pas. J'ai mis un Readln avant au lieu d'après et ca marche, je ne sais toujours pas pourquoi. Bizarre...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut autrement?
    essaye de mettre deux readln; à la fin (juste avant le END)
    peut-être que le programme finit tellement vite son exécution que tu vois pas qu'il marche bien...
    sinon pour plus joli (ou pas, enfin sur PASCAL...) tu peux utiliser la procédure
    GotoXY(x,y:integer); pour lire ou écrire à un endroit donné de ton écran...

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Gotoxy(5,5); write("hello");
    Merci

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Kio,
    Citation Envoyé par SansPseudo
    essaye de mettre deux readln; à la fin (juste avant le END)
    peut-être que le programme finit tellement vite son exécution que tu vois pas qu'il marche bien...
    sinon pour plus joli (ou pas, enfin sur PASCAL...) tu peux utiliser la procédure
    GotoXY(x,y:integer); pour lire ou écrire à un endroit donné de ton écran...

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Gotoxy(5,5); write("hello");
    Merci
    Pourquoi 2 readln ?
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 57
    Points : 20
    Points
    20
    Par défaut
    le readln ke tu as mis aprés read sert à quoi?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 44
    Points : 38
    Points
    38
    Par défaut
    Quelqu'un pour m'expliquer pourqoi read(...) ;

    et puis readln ???

    Normalement un seul readln n'est ce pas ?

  8. #8
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Mau,
    Citation Envoyé par Kiefer_Sutherland Voir le message
    Quelqu'un pour m'expliquer pourqoi read(...) ;

    et puis readln ???

    Normalement un seul readln n'est ce pas ?
    Oui, évidemment, comme je l'ai corrigé dans mon message (voir plus haut).
    Si les cons volaient, il ferait nuit à midi.

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

Discussions similaires

  1. Read vs ReadLn
    Par Younes Ch dans le forum Langage
    Réponses: 2
    Dernier message: 15/06/2011, 19h43
  2. [Turbo Pascal] Liste chaînée, saisie Read/ReadLn, erreur d'exécution
    Par rabir dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 31/10/2009, 16h59
  3. Read vs ReadLn
    Par aminemen dans le forum Langage
    Réponses: 4
    Dernier message: 11/04/2009, 23h53
  4. Réponses: 1
    Dernier message: 28/09/2007, 21h05
  5. [LG]problème de read / readln
    Par jeremie60 dans le forum Langage
    Réponses: 7
    Dernier message: 08/06/2003, 23h33

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