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 :

Comparaison entre 2 char


Sujet :

C

  1. #1
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut Comparaison entre 2 char
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (Laby_aff[x][y][1]==32)
            Laby_aff[x][y][0]=c;
    En sachant que Laby_aff est un tableau de char esce que ce code est un code qui fonctionne, ie que si Laby_aff[x][y][1] a la valeur espace alors la ligne 2 est effectuée?
    Merci

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par miron
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (Laby_aff[x][y][1]==32)
            Laby_aff[x][y][0]=c;
    En sachant que Laby_aff est un tableau de char esce que ce code est un code qui fonctionne, ie que si Laby_aff[x][y][1] a la valeur espace alors la ligne 2 est effectuée?
    Merci
    Si ta condition est vraie "si" Laby_aff[x][y][1] contient un espace alors oui, ta ligne 2 est effectuée, telle est ta condition que tu as toi même créé !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Note, au lieu d'utiliser le code du caractere espace directement, tu peux utiliser le caractere lui meme

  4. #4
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    En clair, partout où tu veux utiliser un char, tu peux mettre un int.

    Nas'

  5. #5
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Le probleme c'est que ca as pas l'air de fonctionner...
    Ou alors mon pb vient d'ailleur...
    Merci

  6. #6
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    Citation Envoyé par miron
    Ou alors mon pb vient d'ailleur...
    Oui c'est plutôt ça
    Quel est le problème exactement? Montre le code réduit au minimum pour essayer de comprendre.

    Nas'

  7. #7
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par Nasky
    Oui c'est plutôt ça
    Quel est le problème exactement? Montre le code réduit au minimum pour essayer de comprendre.

    Nas'
    Voila
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <windows.h>
    #include <conio.h>
    #include <mmsystem.h>
    #define TX 80
    #define TY 50
     
    char Laby_aff[TX][TY][2];
    char sens;
     
    //-----------------------------------------------------------------------------  
    void Ecran(int Mode) // parametre Mode : 1=plein ecran et 2=mode fenetre
    {
         typedef BOOL WINAPI (*SetConsoleDisplayModeT)(HANDLE,DWORD,DWORD*);
         SetConsoleDisplayModeT SetConsoleDisplayMode;
     
        HINSTANCE hLib=LoadLibrary("KERNEL32.DLL");
        SetConsoleDisplayMode=(SetConsoleDisplayModeT)
           GetProcAddress(hLib,"SetConsoleDisplayMode");
     
        HANDLE h=CreateFile("CONOUT$",GENERIC_WRITE|GENERIC_READ,FILE_SHARE_READ |
           FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,0);
     
        DWORD oldmode;
     
        SetConsoleDisplayMode(h,Mode,&oldmode);
    }
    //-----------------------------------------------------------------------------
     
    void position(int x,int y)
    {
         HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
         COORD pos={x,y};
         SetConsoleCursorPosition(handle,pos); 
    }
     
    void aff(int x,int y,char c)
    {
         position(x,y);
         if (Laby_aff[x][y][1]==32)
            Laby_aff[x][y][0]=c;
         printf("%c",Laby_aff[x][y][0]);
         Laby_aff[x][y][1]=0;
         position(0,0);     
    }
    void ecrire(int x,int y,int c)
    {
         int r,i,j;
         /*if (Laby_aff[x][y][1])
         {*/
     
         if (c==80)
         {
            i=x-1;
            j=y+1;
                {
                    r=rand()%10;
                    if (r==0||r==1||r==2) aff(i,j,179);//|
                    if (r==3||r==4||r==5) aff(i,j,179);
                    if (r==7||r==8||r==9) 
                    {
                       aff(i,j,217);//haut gauche
                       Laby_aff[i][j+1][1]=0;
                       Laby_aff[i][j+1][0]=191;
                    }
     
                }        
            /*i=x;
            j=y+1;
            r=rand()%10;
            if (r==0||r==1||r==2||r==3||r==4||r==5) aff(i,j,' ');
            if (r==7||r==8||r==9) 
            {
               aff(i,j,196);
               aff(i-1,j,192);
               aff(i+1,j,217);
            }*/
     
            i=x+1;
            j=y+1;
                {
                    r=rand()%10;
                    if (r==0||r==1||r==2) aff(i,j,179);//|
                    if (r==3||r==4||r==5) aff(i,j,179);
                    if (r==7||r==8||r==9) 
                    {
                       aff(i,j,192);//haut gauche
                       Laby_aff[i][j+1][1]=0;
                       Laby_aff[i][j+1][0]=218;
                    }
     
                }
            }
         //}
    }
    int main(int argc, char *argv[])
    {
     
      int i,j,x=0,y=0,c;
      Ecran(1);
      for (i=0;i<TX;i++)
          for (j=0;j<TY;j++)
              {Laby_aff[i][j][0]=' ';
               Laby_aff[i][j][1]=32;}
      srand((unsigned)time(NULL));
      for (y=0;y<TY;y++)
                aff(1,y,'|');
      aff(3,1,'|');
      x=2;
      y=1;
      sens='y';
      while (1)
      {
     
     
            //Sleep(1000);
     
          c=getch();
          aff(x,y,' ');
          switch (c)
          {
          case 224:
             if (kbhit())
             {
                /* Codes d'extension */
                c = getch ();
                switch (c)
                {
                case 77:  /* FL DROITE */
                   if (x < TX - 1)
                   {
                      x++;
                   }
                   break;
                case 75:  /* FL GAUCHE */
                   if (x > 2)
                   {
                      x--;
                   }
                   break;
                case 80:  /* FL BASSE */
                   if (y < TY - 1)
                   {
                      y++;
                   }
                   break;
                case 72:  /* FL HAUTE */
                   if (y > 1)
                   {
                      y--;
                   }
                }
                break;
             }
             else
             {
                /* c'est vraiment le caractere 224 (o majuscule accent aigu) */
             }
          case 27:  /* ESC */
             exit (0);
          }
          ecrire(x,y,c); 
          position(x,y);
          printf("%c",'*');
          position(0,0);  
     
     
     
     
     
     
     
      }  
     
     
     
     
      system("PAUSE");    
      return 0;
    }
    Vous verez que si on repasse (en se deplacant) , ca modifie, alors que est censer enregistrer que c'est modifiable ou pas...

  8. #8
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Jai trouvé qqc mais c'est pas encore ca...
    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
    void ecrire(int x,int y,int c)
    {
         int r,i,j;
         /*if (Laby_aff[x][y][1])
         {*/
            
         if (c==80)
         {
            i=x-1;
            j=y+1;
                {
                    r=rand()%10;
                    if (r==0||r==1||r==2) aff(i,j,179);//|
                    if (r==3||r==4||r==5) aff(i,j,179);
                    if ((r==7||r==8||r==9)&&(Laby_aff[i][j][1]==32))
                    {
                       aff(i,j,217);//haut gauche
                       Laby_aff[i][j+1][1]=0;
                       Laby_aff[i][j+1][0]=191;
                    }
            
                }       
    ...

  9. #9
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Je croi que j'ai trouvé...
    La reponse dans qqs heure...
    (en cours)

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

Discussions similaires

  1. Requete de comparaison entre 2 champs
    Par wallaz dans le forum Access
    Réponses: 2
    Dernier message: 23/09/2005, 19h17
  2. Comparaison entre les classes et les fonctions
    Par Ashgenesis dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 08/09/2005, 19h09
  3. comparaison entre 2 tables
    Par halina dans le forum Requêtes
    Réponses: 10
    Dernier message: 13/05/2005, 15h18
  4. Réponses: 6
    Dernier message: 21/01/2004, 13h25
  5. Réponses: 6
    Dernier message: 24/03/2003, 17h11

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