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 :

Sortir de programme


Sujet :

C++

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Sortir de programme
    Existe-t-il une fonction qui permet de sortir du programme lorsque l'on appuie sur une touche ?
    Pour exemple cette boucle

    int stop;
    do
    {
    cout<<"coucou";
    }
    while (stop!=0);
    Seul problème, il manque un cin>>stop et la boucle tourne en rond.
    Existe-t-il une fonction a rajouter tout au début qui fait que lorsque l'on appuie sur 'échap' ou 'q', ou n'importe quelle touche, le programme s'arrête proprement ? Pour ne pas avoir à fermer la console manuelement ?
    merci

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Ben pourquoi tu ne rajoutes pas un test quelque part pour sortir ? Tu n'as pas le choix de toute manière !

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    d'accord, et existe-t-il une manière de pouvoir sortir du programme à tout moment en appuyant sur une touche prédefinie avant ?

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Oui, tu scannes le clavier pour voir si qqn a appuyé sur une touche. pb, ce n'est pas standard comme comportement
    La solution autre, créer un thread qui utilisera les fonctions standards et mettre stop à 1 quand on a appuyé sur la touche.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    seul pb c'est que je ne sait absolument pas quelle formule utiliser pour tout cela...

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    quel formule utiliser pour mettre un thread ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    je dit ça mais je ne dit rien (étant donner que je suis un novice en programation)
    mais il me semble que la fonction kbhit(); résoudrai ton problème cette fonciont vérifie si un caractère a été entré (je crois)

    exemple:
    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
     
     
    #include <iostream>
    #include <conio.h>
     
    using namespace std;
     
    int main(){
     
       int stop;
       do
       {
       cout <<"coucou";
       if( kbhit() == true){
       return(0);
    }
       }
       while (stop!=0);
    }

  8. #8
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Ca ne marche que pour les systèmes où conio.h est dispo, donc Windows, mais comme on ne sait pas quel système est visé...

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    c'est effectivement avec windows et cela fonctionne lorsque l'on appuie sur n'importe quelle touche du clavier.
    Cette fonction existe-t-elle pour une touche ciblée, par exemple 'échap' ?

  10. #10
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    TU peu effectivemment définir une touche mainteannt pour 'echap' ...ben je sais
    pas trop comment on definni cette touche dans un programme

    mais sinon voici le code légèrement modifier

    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
     
    #include <iostream>
    #include <conio.h>
     
    using namespace std;
     
    int main(){
     
       int stop;
     
       do
       {
       cout <<"coucou";
       if ((kbhit() == true)&&(getch()=='g')){
       return(0);
          }
       }
       while (stop!=0);
    }

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    c'est parfait merci beaucoup!!

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

Discussions similaires

  1. sortir du programme a partir d'une fonction
    Par Torx26 dans le forum Débuter
    Réponses: 27
    Dernier message: 14/01/2012, 08h20
  2. Sortir du programme en cliquant sur une touche
    Par demoisellex dans le forum Langage
    Réponses: 5
    Dernier message: 17/12/2011, 14h27
  3. Sortir d'une proc sans sortir du programme
    Par gyver4000 dans le forum Tcl/Tk
    Réponses: 2
    Dernier message: 28/03/2009, 11h20
  4. [TPW] Sortir du programme
    Par WhiteTigerZ dans le forum Turbo Pascal
    Réponses: 16
    Dernier message: 13/10/2007, 19h06
  5. Pour sortir d'un programme Perl legalement
    Par Pauli dans le forum Langage
    Réponses: 1
    Dernier message: 03/05/2007, 16h38

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