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 :

est ce que c'est un bug d'affichage ?


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut est ce que c'est un bug d'affichage ?
    Bonjour ,
    je suis entrain de développer un jeu (tic tac toe ) en C
    le principe c'est d'utiliser un tableau a deux dimensions de caractères initialisé a des espaces vide et puis l'utilisateur l'écrase a chaque fois avec u X ou un O.
    Je l'ai pas encore terminé mais en exécutant le code pour voir l'affichage du tableau après avoir modifier son contenu sa m'affiche des caractères étrange ^^ des cœurs des trèfles des petits smilers.
    j'aimerais bien qu'on m'aide a trouver ou a connaitre pourquoi le programme affiche des caracteres etrange apres je pourrais continuer a le developper tranquillement.
    Merci d'avance :p
    Voici le code :
    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
    #include <stdio.h>
    #include <conio.h>
     
     
        void aff(char t[2][2])
        {
          int i,j,pos;
     
            clrscr();
        pos=0;
    for (i=0;i<3;i++)
        {      printf("____ ____ ____ \n");
            for (j=0;j<3;j++)
                {
                pos=pos+1;
    				if (t[i][j]==' ')
                printf("| %i |",pos);
                else
                printf("| %c |",t[i][j]);
    				}
                printf("\n");
                printf("---- ---- ---- \n");
        }
        }
     
    int main()
    { int i,j,insert,gameover;
        char t[2][2],jet;
     
        for (i=0;i<3;i++)
        {
            for (j=0;j<3;j++)
                {
                t[i][j]=' ';
                }
        }
     
      gameover=0;
       aff(t);
       jet='X';
       do{
       printf(" Le jeton est %c Choisissez une case",jet);
       scanf("%i",&insert);
     
       switch (insert){
         case (1) : t[0][0]=jet; break;
         case (2) : t[0][1]=jet; break;
         case (3) : t[0][2]=jet; break;
         case (4) : t[1][0]=jet; break;
         case (5) : t[1][1]=jet; break;
         case (6) : t[1][2]=jet; break;
         case (7) : t[2][0]=jet; break;
         case (8) : t[2][1]=jet; break;
         case (9) : t[2][2]=jet; break;
        default : gameover=1;
        }
        if (jet=='X')
        jet='O';
        else
        jet='X';
       aff(t);
     
       }while(gameover==0);
     
     
    getch();
        return 0;
        }

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Attention, les indices de tableaux commencent à 0 et se termine à N-1 où N est le nombre d'éléments du tableau.
    Pour un tableau char t[2][2], les indices sont alors limités aux valeurs 0 et 1 donc ce genre de choses sort des limites du tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        for (i=0;i<3;i++)
        {
            for (j=0;j<3;j++)
                {
                t[i][j]=' ';
                }
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    merci beaucoup a ta réponse très rapide

Discussions similaires

  1. Est ce que ceci est un bug ou non
    Par saha84 dans le forum Scilab
    Réponses: 0
    Dernier message: 26/03/2015, 13h40
  2. est-ce que python est ce que je cherche
    Par SILICONE dans le forum Général Python
    Réponses: 5
    Dernier message: 21/12/2007, 14h23
  3. Un daemon qu'est ce que c'est exactement ?
    Par CedricYhuel dans le forum Administration système
    Réponses: 5
    Dernier message: 01/08/2003, 11h56
  4. Qu'est ce que c'est : Le GateA20 ?
    Par le mage tophinus dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 24/02/2003, 15h09
  5. Qu'est-ce que c'est que Nessus, ça fait quoi exactement ?
    Par PeterT dans le forum Développement
    Réponses: 3
    Dernier message: 24/07/2002, 11h23

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