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 :

comment fermer l'executable avec une touche?


Sujet :

C

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut comment fermer l'executable avec une touche?
    Salut
    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
     
    printf("if you want to see all names press 1\n");
    scanf("%d",i);
    if(i==1)
            {
    	fp=fopen(liste,"r");
    	for(i=0;i<n;i++)
    	  {
    		printf("les étudiants de l'amphi A sont\n");
    		fscanf(fp,"%s\n",eleve);
    		puts(eleve);
    	  }
            }
    else
           {
                 printf("si vous voulez sortir tapez une touche\n");
                 //je ne sais pas que dois je faire
    Comme vous voyez,je fais un petit teste sur "i",c'est clair que mon probleme est au niveau du "else".
    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Je crois qu'au lieu d'une instruction conditionnelle (if) il te faut une expression itérative (do while, for ...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    do
    {
       puts("Pour sortir, tapez 0");
       scanf("%d", &i);
       /* ... ton code ...*/
    } while(i != 0);
    Attention à ne pas oublier de vider le buffer clavier après l'utilisation de scanf. Lui préférer fgets -> http://c.developpez.com/faq/?page=cl...EN_scanf_fgets

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut
    j'ai essayé votre solution:quand je tape une touche differente de la touche de la condition d'arret,l'executable se bloque..

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Bas oui il te l'as dis, il faut vider le buffer d'entré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int ret,i;
    do
    {
       puts("Pour sortir, tapez 0");
       ret = scanf("%d", &i);
       scanf("%*[^\n]"),getchar();
    } while(ret != 1);

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    do
    {
    printf("si vous voulez quitter taper <1>\n");
    scanf("%d",&m);
    	fp=fopen(liste,"r");
    	for(i=0;i<n;i++)
    	  {
    		printf("les étudiants de l'amphi A sont\n");
    		fscanf(fp,"%s\n",eleve);
    		puts(eleve);
    	  }
    getchar();
    }while(m=!1);
    Il me demande d'introduire une valeur,et malgré ça il termine toutes les instructions.

  6. #6
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    ce ne serait pas

    ?

    Parceque là il va s'arrêter pour n'importe quoi sauf 0.

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut
    Citation Envoyé par coyotte507 Voir le message
    ce ne serait pas

    ?

    Parceque là il va s'arrêter pour n'importe quoi sauf 0.
    Mais non,il ne s'arrete pas.j'ai essayé 0,1,2..meme resultat

  8. #8
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    avec moi ca marche.

    Tu as bien mis le != au lieu du =!?

    Sinon peut être que tu as une erreur, affiche du texte juste avant de quitter pour voir si le programme l'affiche bien.

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut
    Citation Envoyé par coyotte507 Voir le message
    avec moi ca marche.

    Tu as bien mis le != au lieu du =!?

    Sinon peut être que tu as une erreur, affiche du texte juste avant de quitter pour voir si le programme l'affiche bien.
    Ah oui vous avez raison,je suis desolé..mais le probleme n'est pas encore resolu car la fenetre ne disparait pas,mais elle devient seulement inactive..

  10. #10
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    peut être que avec un "return 0;" elle disparaîtra (si c'est dans la fonction main).

    Que veux-tu dire en disant que la fenêtre devient inactive? Elle ne disparaît pas quand on réappuie sur entrée?

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut
    Citation Envoyé par coyotte507 Voir le message
    Que veux-tu dire en disant que la fenêtre devient inactive? Elle ne disparaît pas quand on réappuie sur entrée?
    Elle devient bloquée,et meme si je reappuie,rien ne se change.J'en sais rien...

  12. #12
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Si ton code est dans le main, un "return 0" doit suffire.

    Sinon, à tout hasard, tu peux essayer exit(0)

  13. #13
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par bilou_2007 Voir le message
    Elle devient bloquée,et meme si je reappuie,rien ne se change.J'en sais rien...
    Montre une version compilable de ton code.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/06/2009, 22h49
  2. [System][EXEC] Probleme d'execution avec une commande parametrée.
    Par chicorico dans le forum Général Java
    Réponses: 15
    Dernier message: 20/05/2005, 15h07
  3. [CF][C#/PPC] Comment être à l'écouter d'une touche du clavier ?
    Par freddyboy dans le forum Windows Mobile
    Réponses: 6
    Dernier message: 18/05/2005, 17h32
  4. [Debutant] comment creer un Executable avec Jbuilder
    Par JavaEli dans le forum JBuilder
    Réponses: 10
    Dernier message: 29/03/2004, 11h22
  5. Comment détecter la frappe d'une touche ?
    Par Bubonik software dans le forum C
    Réponses: 17
    Dernier message: 11/12/2003, 21h52

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