Partage
  • Partager sur Facebook
  • Partager sur Twitter

L'instruction de lecture Cin

    18 juin 2021 à 3:46:26

    Bonjour ! 

    Je débute en c++ et je suis étudiante en informatique. j'aimerais connaître je vous prie, les raisons pour lesquelles une instruction de lecture Cin peut ne pas s'exécuter malgré que le programme écrit passe l'étape de compilation, aucune erreur signalée mais le cin ne s'exécute pas, rien n'est récupérer dans les variables. Je précise que, les instructions cout s'exécutent correctement.

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      18 juin 2021 à 4:10:08

      Bonsoir/jour,

      Techniquement parlant std::cin n'est pas une instruction. C'est une variable globale qui est associée au canal d'entrée stdin de la console (par défaut)

      Il peut y avoir de nombreuses raisons qui font qu'une lecture sur std::cin échoue:

      - on cherche à extraire un nombre avec >>, mais ce n'est pas un nombre qui a été saisi; ce qui mettra le flux dans un état failed => toujours tester une extraction: https://cpp.developpez.com/faq/cpp/?page=Manipulation-de-la-console#Comment-verifier-les-valeurs-saisies-avec-cin

      - on cherche à lire, mais le flux était dans un état failed => il faut le restaurer et possiblement nettoyer les scories toujours dans le pipeline => clear() puis https://cpp.developpez.com/faq/cpp/?page=Manipulation-de-la-console#Comment-purger-le-buffer-clavier

      - on enchaîne >> avec std::getline (et uniquement >> PUIS getline, et pas le contraire ni autre chose) sans précaution: https://cpp.developpez.com/faq/cpp/?page=Manipulation-de-la-console#Pourquoi-std-getline-ne-lit-il-rien-et-faut-il-l-executer-deux-fois-pour-que-la-ligne-soit-lue

      - ...

      Sans plus de précision, difficile d'être plus précis en aveugle.

      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
        21 juin 2021 à 11:22:27

        D'accord merci bien, je vais me pencher dessus
        • Partager sur Facebook
        • Partager sur Twitter

        L'instruction de lecture Cin

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown