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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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.

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