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 :

récupérer un caractère sans appuyer [Entrée]


Sujet :

C++

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut récupérer un caractère sans appuyer [Entrée]
    Salut, je crée un menu simple et j aimerais faire le choix parmi les options proposées par le menu, sans appuyer chaque fois la touche Entrée pour confirmer, comme dans mon petit code ci dessous:

    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
     
    #include<cstdlib>
    #include <iostream>
    #include <string>
     
    using namespace std;
     
     
    int main() {
     
     
        char choice1, choice2;
     
        do {
     
            system("cmd /c cls");
     
            cout << endl << endl << "              ---------------   GESTION CLIENTS   -----------------" << endl << endl << endl;
            cout << endl << endl << "                           A  ----->  INFORMATION CLIENTS" << endl;
            cout << endl << endl << "                           B  ----->  AJOUT CLIENT" << endl;
     
            cout << endl << endl << "                 faites le choix d une option" << endl;
            cin >> choice1;
     
            switch (choice1){
     
            case 'a':
     
                do{
                    system("cmd /c cls");
     
                    cout << endl << endl << "                   ------------ INFORMATION CLIENTS -------------" << endl << endl;
     
                    cout << endl << endl << endl << "                   Appuyer la touche R pour retouner au menu" << endl << endl;
                    cin >> choice2;
     
                } while (choice2 != 'r');
     
                break;
     
     
            case 'b':
     
                do{
     
                    system("cmd /c cls");
     
                    cout << endl << endl << "                   ------------ AJOUT CLIENT -------------" << endl << endl;
     
     
                    cout << endl << endl << endl << "                  Appuyer la touche R pour retouner au menu" << endl << endl;
                    cin >> choice2;
     
                } while (choice2 != 'r');
     
                break;
     
            default:;
     
            }
     
        } while (choice1 != 'x');
     
        return 0;
    }
    Merci d avance.

  2. #2
    Membre éprouvé Avatar de KsassPeuk
    Homme Profil pro
    Ingénieur Chercheur
    Inscrit en
    Juillet 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 138
    Par défaut
    Citation Envoyé par Ksass`Peuk
    Lu'!

    system est une fonction qu'il vaut mieux éviter, en grande partie parce qu'il n'en résultera rien de portable.

    Pour ce genre d'application, tu peux regarder du côté de n/pd-curse.

  3. #3
    Membre Expert
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 871
    Par défaut
    J'ajoute qui si tu es sous linux, tu peux regarder comment passer ton terminal en mode non-bloquant (aussi appelé mode non-canonique). Sinon la lib ncurses (comme te l'a indiqué KsassPeuk) fonctionne sous windows et sous linux.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Voici d'ailleurs la méthode : http://c.developpez.com/faq/?page=Ge...mode-brut-UNIX (qu'ils appellent mode brut ... pourquoi pas, je ne sais pas qu'elle est l’appellation officielle)
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/11/2011, 19h23
  2. Récupérer chaine caractère entrée dans une box
    Par clem56 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/06/2008, 12h47
  3. Saisie au clavier sans appuyer sur Entrée
    Par Invité dans le forum Général Python
    Réponses: 1
    Dernier message: 14/05/2008, 15h23
  4. Récupérer un caractère sans le retour chariot
    Par thierryG dans le forum Débuter
    Réponses: 4
    Dernier message: 08/11/2007, 10h47
  5. Réponses: 6
    Dernier message: 16/12/2006, 15h08

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