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

 C++ Discussion :

touche clavier backspace s'affiche dans std::cin


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    employer clinique
    Inscrit en
    Août 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : employer clinique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2014
    Messages : 1
    Par défaut touche clavier backspace s'affiche dans std::cin
    Bonjour, j'ai un léger soucis dans mon petit.
    la frappe sur la touche retour arrière n'efface pas le dernier caractère tapé sur le clavier mais est affiché à la place.
    y a t'il une solution simple . je poste le code:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    #include <iostream>
    #include <ctime>
    #include <cstdlib>
    #include <string>
     
    std::string melangerlettres(std::string mot)
    {
        std::string melange;
        int position(0);
     
        while (mot.size() != 0)
        {
            position = rand() % mot.size();
            melange += mot[position];
            mot.erase(position, 1);
        }
        return melange;
    }
     
    int main()
    {
        std::string motMystere, motMelange, motUtilisateur, reponseRejouer;
     
        srand(time(0));
     
        do
        {
            std::system("clear");
     
            std::cout << "mot mystere: " << std::endl;
            std::cin >> motMystere;
     
            std::system("clear");
     
            int nombreCoups = motMystere.size();
     
            motMelange = melangerlettres(motMystere);
     
            do
            {
                std::cout << "nombre restant d'essais : " << nombreCoups << std::endl;
                std::cout << "\nQuel est ce mot : " << motMelange << std::endl
                          << std::endl;
                std::cin >> motUtilisateur;
     
                std::system("clear");
     
                nombreCoups -= 1;
     
                if (nombreCoups < 1)
                {
                    std::cout << "PERDU, trop tard." << std::endl;
                    motUtilisateur = motMystere;
                }
                else
                {
                    if (motUtilisateur != motMystere)
                    {
                        std::cout << "PERDU, recommence." << std::endl;
                    }
                    else
                    {
                        std::cout << "BRAVO, tu as trouvé." << std::endl;
                    }
                }
     
            } while (motUtilisateur != motMystere);
     
            std::cout << "\nVoulez-vous rejouer ? (o/n)" << std::endl;
            std::cin >> reponseRejouer;
     
        } while (reponseRejouer == "o");
     
        return 0;
    }
    merci

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Quelle est ta plate-forme? Utilises-tu, par exemple, un émulateur de terminal (genre PuTTY) pour te connecter à un serveur distant?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Octobre 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2020
    Messages : 8
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Quelle est ta plate-forme? Utilises-tu, par exemple, un émulateur de terminal (genre PuTTY) pour te connecter à un serveur distant?
    juste sur mon terminal sur mac car sous linux je n'ai pas ce problème.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Il doit y avoir une erreur quelque part dans la config du terminal, entre les deux codages les plus commun du BackSpace (0x08 ou 0x7F).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Octobre 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2020
    Messages : 8
    Par défaut Résolu
    Bon c'était bien dans ma config du terminal mac dans le profil avancé, touche supp affiche ctrl ^H.

    Voilà si ca peu aider quelqu'un d'autre.

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

Discussions similaires

  1. afficher la touche clavier dans un message ?
    Par delphino7 dans le forum C#
    Réponses: 11
    Dernier message: 27/03/2011, 15h35
  2. Catch touche clavier dans un projet Console
    Par nick2paris dans le forum C#
    Réponses: 15
    Dernier message: 13/04/2008, 23h42
  3. Si la touche A est pressée on l'affiche dans un TMemo
    Par Chyokyka dans le forum Débuter
    Réponses: 7
    Dernier message: 08/04/2008, 01h45
  4. Réponses: 2
    Dernier message: 01/11/2007, 10h23
  5. Réponses: 2
    Dernier message: 16/05/2006, 23h57

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