Partage
  • Partager sur Facebook
  • Partager sur Twitter

en quoi consiste le code E0 224

besoin d'une explication

Sujet résolu
    5 décembre 2019 à 3:38:43

    bonjour, j'aimerais savoir on quoi consiste le code E0 224 pour commenter mon code, car j'ai été obligé de passer par la pour répond au attente de l'exo que je devais réaliser. cependant comme c'est tiré de recherche j'aimerais plus en savoir a ce sujet.

    merci de votre compréhension 

    bien cordialement victor 

    -
    Edité par VictorHuguet 5 décembre 2019 à 19:27:09

    • Partager sur Facebook
    • Partager sur Twitter
      5 décembre 2019 à 15:18:14

      Bonjour, tu dis:

      "je sais juste quel permet d'utilisé les touche du clavier".

      D'où tu sors ça?

      Qu'entends tu par "utilisé les touche du clavier"??

      • Partager sur Facebook
      • Partager sur Twitter
        5 décembre 2019 à 17:23:08

        Salut,

        L'ASCII est entre 0 et 127.

        Au dela de 127, c'est soit de l'ASCII étendu, soit de l'UTF8.

        Mais ta question est mal posée, ici tu parles du code 224 (E0) généré pour les touches spéciales du clavier pour getchar() sous Windows.

        En effet, quand tu appuies sur le clavier, un code est généré. Si ce code n'est pas 0 ou E0 (224), alors c'est directement un code ASCII qui est généré. Si c'est 224, alors un second code est généré pour les touches spéciales (par exemple 72 pour flèche UP).

        Pour les entrées clavier sous Windows, la valeur 224 est donc réservée pour annoncer qu'on appuie sur une touche spéciale.

        • Partager sur Facebook
        • Partager sur Twitter

        Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

          5 décembre 2019 à 18:55:45

          Fvirtman a écrit:

          Salut,

          L'ASCII est entre 0 et 127.

          Au dela de 127, c'est soit de l'ASCII étendu, soit de l'UTF8.

          Mais ta question est mal posée, ici tu parles du code 224 (E0) généré pour les touches spéciales du clavier pour getchar() sous Windows.

          En effet, quand tu appuies sur le clavier, un code est généré. Si ce code n'est pas 0 ou E0 (224), alors c'est directement un code ASCII qui est généré. Si c'est 224, alors un second code est généré pour les touches spéciales (par exemple 72 pour flèche UP).

          Pour les entrées clavier sous Windows, la valeur 224 est donc réservée pour annoncer qu'on appuie sur une touche spéciale.


          ascii etendu oui 

          en gros j'ai du l'utilisé pour reussir l'exo que je devais realiser sans pour autant connaitre parfaitement a quoi ça consistait car j'ai fais des recherche dessus ce n'était pas dans le cours du prof. 

          merci de la reponse je vais pouvoir commenté cette partie de mon programme 

          en parlant de ça voila mon programme en question : 

          /*
           * jeu_de_dame.c
           *
           *
           *  Created on: Nov 9, 2019
           *      Author: Victor HUGUET
           */
          #include <stdio.h>
          #include <stdlib.h>
          
          #define NBLC 8
          #define NOMBREDEPIONS 1
          
          #define angleHautGauche 218
          #define angleHautDroit  191
          #define angleBasGauche  192
          #define angleBasDroite  217
          
          #define T           194
          #define Tinverse    193
          #define TcoteDroit  180
          #define TcoteGauche 195
          
          #define BarreVerticale   179
          #define BarreHorizontale 196
          #define croix            197
          #define PION 88
          
          #define ESCAPE 27
          
          #define EXTENDED_KEY_1 0  // NULL
          #define EXTENDED_KEY_2 224 // permet d'utiliser les touches clavier
          
          #define ARROWUP    72
          #define ARROWDOWN  80
          #define ARROWLEFT  75
          #define ARROWRIGHT 77
          
          struct pion // structure pour indices de position du pion
          {
              int x;
              int y;
          };
          
          // fonction afficherTable permet d'afficher le damier vide dans un premier temps
          // puis avec le pion une fois la fonction poserPion executé
          // le damier est tracer a l'aide de code ascii
          //
          
          void afficherTable(int table[NBLC][NBLC])
          {
            system("cls");
            int i, j, k;
          
            printf("%c%c%c%c", angleHautGauche, BarreHorizontale, BarreHorizontale, BarreHorizontale);
            for(i = 0; i < NBLC - 1; i++) {
              printf("%c%c%c%c", T, BarreHorizontale, BarreHorizontale, BarreHorizontale);
            }
            printf("%c\n", angleHautDroit);
          
            for(i = 0; i < NBLC; i++) {
              for(j = 0; j < NBLC; j++) {
                printf("%c %c ", BarreVerticale, table[i][j]);
              }
              printf("%c\n", BarreVerticale);
          
              if(i < NBLC - 1) {
                printf("%c%c%c%c", TcoteGauche, BarreHorizontale, BarreHorizontale, BarreHorizontale);
                for(k = 0; k < NBLC - 1; k++) {
                  printf("%c%c%c%c", croix, BarreHorizontale, BarreHorizontale, BarreHorizontale);
                }
                printf("%c\n", TcoteDroit);
              }
              else {
                printf("%c%c%c%c", angleBasGauche, BarreHorizontale, BarreHorizontale, BarreHorizontale);
                for(k = 0; k < NBLC - 1; k++) {
                  printf("%c%c%c%c", Tinverse, BarreHorizontale, BarreHorizontale, BarreHorizontale);
                }
                printf("%c\n", angleBasDroite);
              }
            }
          }
          
          
          // fonction permettant de placer le pion
          
          void poserPions(int table[NBLC][NBLC], struct pion pion[], char numPion)
          {
              int i=1,j=1;
          
                  printf("Ou voulez vous placez le pions %c ?\n", numPion);
                  do
                  {
                      printf("Choisissez la lignes:\n");
                      scanf("%d",&i);
          
                      if(i<1 || i>NBLC) printf("\nIl n'y a pas de ligne numero %d\n",i);
                  }
                  while(i<1 || i>NBLC);
          
                  do
                  {
                      printf("Choisissez la colonne:\n");
                      scanf("%d",&j);
          
                      if(j<1 || j>NBLC) printf("\nIl n'y a pas de colonne numero %d\n",j);
                  }
                  while(j<1 || j>NBLC);
          
                  if(table[i-1][j-1]==1)
                  {
                      printf("\t\tDesole il y a deja un pion a cet emplacement\n\n");
                      return;
                  }
                  else
                  {
                  	table[i-1][j-1]=numPion;
                  	pion[numPion-1].y = i-1;
                  	pion[numPion-1].x = j-1;
                  }
          
          }
          // fonction permettant de déplacer le pion
          
          void movePions(int table[NBLC][NBLC],  struct pion pion[], char numPion)
          {
          	int c;
          	struct pion pion_new = {pion[numPion-1].x, pion[numPion-1].y}; // position du pion apres deplacement
          	struct pion pion_old = {pion[numPion-1].x,pion[numPion-1].y};// position du pion avant deplacement
          			  afficherTable(table);
          
          			  while((c = getch()) != ESCAPE)// tant que la touche échap n'est pas executé le programme tourne
          			  {
          			    table[pion_old.y][pion_old.x] = 0;
          
          			    if(c == EXTENDED_KEY_1 || c == EXTENDED_KEY_2) 
          			    {
          			      switch(getch())
          			      {
          			        case ARROWUP:
          			          if(pion_new.y > 0) --pion_new.y; // le pion bouge vers le haut quand ton appuie sur la fleche du haut
          			          break;
          
          			        case ARROWDOWN:
          			          if(pion_new.y < NBLC - 1) ++pion_new.y; // le pion bouge vers le bas quand ton appuie sur la fleche du bas
          			          break;
          
          			        case ARROWLEFT:
          			          if(pion_new.x > 0) --pion_new.x;// le pion bouge vers la gauche quand ton appuie sur la fleche gauche
          			          break;
          
          			        case ARROWRIGHT:
          			          if(pion_new.x < NBLC - 1) ++pion_new.x; // le pion bouge vers la droite quand ton appuie sur la fleche de droite
          			          break;
          			      }
          
          			      if(pion_old.x != pion_new.x || pion_old.y != pion_new.y)
          			      {
          			    	table[pion_old.y = pion_new.y][pion_old.x = pion_new.x] = numPion;// permet d'afficher le pion a ça nouvelle position
          			        afficherTable(table);// reaffiche le damier avec le pion au nouvel coordonnée
          			      }
          			    }
          			  }
          	}
          
          // fonction permettant d'afficher le tableau
          
          
          int main(void)
          {
              int continuer=1; // permet d'execution du programme
              char numPion = PION; // le Pion sous l'apparrence d'un 1
              int table[NBLC][NBLC] = {0}; // initialisation de toute les cases du tableaux avec des 0
              struct pion pion[NOMBREDEPIONS]; // structure parametré pour le nombre de pion a affiché
          
              afficherTable(table);
              poserPions(table, pion, numPion);
              do
              {
                  movePions(table, pion, numPion);
              }
              while(continuer);
              return EXIT_SUCCESS; // return 0
          }
          

          y'a un warning au niveau du getch mais ça je sais pas vraiment si je peux le resoudre et puis le code est fonctionnel et repond a l'exo du coup je m'en preoccupe pas trop meme s'il me triger un peu xD.

          -
          Edité par VictorHuguet 5 décembre 2019 à 18:58:38

          • Partager sur Facebook
          • Partager sur Twitter
            5 décembre 2019 à 19:24:48

            Salut, j ai vu que tu as modifié ton titre et ton premier message. C'est pas EO mais E0 (zero) et en fait, en hexa, E0 = 224 tout simplement.
            • Partager sur Facebook
            • Partager sur Twitter

            Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

              5 décembre 2019 à 19:28:41

              Fvirtman a écrit:

              Salut, j ai vu que tu as modifié ton titre et ton premier message. C'est pas EO mais E0 (zero) et en fait, en hexa, E0 = 224 tout simplement.


              du coup je met quoi comme commentaire ?

              -
              Edité par VictorHuguet 5 décembre 2019 à 19:47:00

              • Partager sur Facebook
              • Partager sur Twitter
                6 décembre 2019 à 14:21:00

                VictorHuguet a écrit:

                y'a un warning au niveau du getch mais ça je sais pas vraiment si je peux le resoudre


                ___

                Il y a ce warning parce que tu as supprimé la ligne

                #include <conio.h>

                On se demande pourquoi !

                • Partager sur Facebook
                • Partager sur Twitter
                  6 décembre 2019 à 18:09:39

                  magma a écrit:

                  VictorHuguet a écrit:

                  y'a un warning au niveau du getch mais ça je sais pas vraiment si je peux le resoudre


                  ___

                  Il y a ce warning parce que tu as supprimé la ligne

                  #include <conio.h>

                  On se demande pourquoi !

                  Ha mdr pas fais exprès merci xD

                  • Partager sur Facebook
                  • Partager sur Twitter

                  en quoi consiste le code E0 224

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown