Partage
  • Partager sur Facebook
  • Partager sur Twitter

Besoin d'aide pour programme

    28 novembre 2020 à 15:24:47

    Bonjour, je souhaite réaliser un projet de Scrabble. Je dois créer la pioche pourvu de 102 lettres ainsi que leurs score, et le chevalet du joueur qui comporte 7 de ces lettres et scores, mais malheureusement, je trouve des erreurs dans mon programme et j'ai besoin d'aide s'il vous plait.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
       struct Pioche
      {
        char lettres[101];//position
        int scores[101];//velocity
      };
    
      struct Chevalet
      {
        char lettres[101];//position
        int scores[101];//velocity
      };
    
      void main()
    {
     struct Pioche Piochee[101];
     struct Chevalet Chevalet1[101];
     int p, i;
     for(p = 0; p < 101; p++)
     {
         for (i=0;i<9;i++)
      {
           Piochee[p].lettres[i] ='A';
           Piochee[p].scores[i]=1;
      }
      Piochee[p].lettres[9]='B';
      Piochee[p].scores[9]=3;
      Piochee[p].lettres[10]='B';
      Piochee[p].scores[10]=3;
      Piochee[p].lettres[11]='C';
      Piochee[p].scores[11]=3;
      Piochee[p].lettres[12]='C';
      Piochee[p].scores[12]=3;
    
      for (i=13;i<16;i++)
      {
          Piochee[p].lettres[i]='D';
          Piochee[p].scores[i]=2;
      }
    
      for (i=16;i<31;i++)
      {
        Piochee[p].lettres[i]= 'E';
        Piochee[p].scores[i]=1;
      }
    
      Piochee[p].lettres[31]='F';
      Piochee[p].scores[31]=4;
      Piochee[p].lettres[32]='F';
      Piochee[p].scores[32]=4;
      Piochee[p].lettres[33]='G';
      Piochee[p].scores[33]=2;
      Piochee[p].lettres[34]='G';
      Piochee[p].scores[34]=2;
      Piochee[p].lettres[35]='H';
      Piochee[p].scores[35]=4;
      Piochee[p].lettres[36]='H';
      Piochee[p].scores[36]=4;
    
      for (i=37;i<45;i++)
      {
          Piochee[p].lettres[i]='I';
          Piochee[p].scores[i]=1;
      }
    
      Piochee[p].lettres[45]='J';
      Piochee[p].scores[45]=8;
      Piochee[p].lettres[46]='K';
      Piochee[p].scores[46]=10;
    
      for (i=47;i<52;i++)
      {
          Piochee[p].lettres[i]='L';
          Piochee[p].scores[i]=1;
      }
    
      for (i=52;i<55;i++)
      {
          Piochee[p].lettres[i]='M';
          Piochee[p].scores[i]=2;
      }
    
      for (i=55;i<61;i++)
      {
          Piochee[p].lettres[i]='N';
          Piochee[p].scores[i]=1;
      }
    
      for (i=61;i<67;i++)
      {
          Piochee[p].lettres[i]='O';
          Piochee[p].scores[i]=1;
      }
    
      Piochee[p].lettres[67]='P';
      Piochee[p].scores[67]=3;
      Piochee[p].lettres[68]='P';
      Piochee[p].scores[68]=3;
      Piochee[p].lettres[69]='Q';
      Piochee[p].scores[69]=8;
    
      for (i=70;i<76;i++)
      {
          Piochee[p].lettres[i]='R';
          Piochee[p].scores[i]=1;
      }
    
      for (i=76;i<82;i++)
      {
          Piochee[p].lettres[i]='S';
          Piochee[p].scores[i]=1;
      }
    
      for (i=82;i<88;i++)
      {
          Piochee[p].lettres[i]='T';
          Piochee[p].scores[i]=1;
      }
    
      for (i=88;i<94;i++)
      {
          Piochee[p].lettres[i]='U';
          Piochee[p].scores[i]=1;
      }
    
      Piochee[p].lettres[94]='V';
      Piochee[p].scores[94]=4;
      Piochee[p].lettres[95]='V';
      Piochee[p].scores[95]=4;
      Piochee[p].lettres[96]='W';
      Piochee[p].scores[96]=10;
      Piochee[p].lettres[97]='X';
      Piochee[p].scores[97]=10;
      Piochee[p].lettres[98]='Y';
      Piochee[p].scores[98]=10;
      Piochee[p].lettres[99]='Z';
      Piochee[p].scores[99]=10;
      Piochee[p].lettres[100]='?';
      Piochee[p].scores[100]=10;
      Piochee[p].lettres[101]='?';
      Piochee[p].scores[101]=10;
      }
    
      memcpy(Chevalet1,Piochee, sizeof Piochee );
    
     int taille=101;
     int j;
     int alea;
     srand(time(NULL));
     printf("Les jetons sur votre chevalet :\n\t");
     for (i=0; i<7; i++)
    {
        alea=rand()%taille;
        Chevalet1[i]=Piochee[alea];
        for(j=alea; j<taille-1;j++)
        {
            Piochee[j]=Piochee[j+1];
        }
        taille=taille-1;
        printf("%c\t\t",Chevalet1[i].lettres);
    }
    }

    L'erreur se trouve à la ligne Chevalet[i = Piochee[alea; 

    Le message d'erreur est le suivant : incompatibles types when assigning to type 'Struct Chevalet' from type 'Struct Pioche'.

    • Partager sur Facebook
    • Partager sur Twitter
      28 novembre 2020 à 15:44:14

      YannisArab a écrit:

      Bonjour, je souhaite réaliser un projet de Scrabble. 

      Tu n'est pas le seul !

      YannisArab a écrit:

      Je dois créer la pioche pourvu de 102 lettres ainsi que leurs score, et le chevalet du joueur qui comporte 7 de ces lettres et scores, 

      102 lettres, pourquoi tu fais alors des tableaux de 101 cases ?

      Pour ton erreur : tu tentes d'assigner une pioche à un chevalet, or ce n'est pas possible, tu ne peux pas assigner des variable de type différents !

      D'ailleurs pourquoi ton chevalet est si grand alors qu'il ne doit contenir que 7 pions.

      Le remplissage de tes tableaux est un peu barbare !

      La solution pour tes pions (il y a plusieurs possibilités) être de créer une structure pion que tu mets ensuite dans tes tableaux (102 pions dans la pioche, ensuite 7 pions tirés au hasard dans la pioche et mis sur le chevalet, puis pion posé sur la table de jeu).

      PS : il ne te reste pas beaucoup de temps, 7 décembre dernier carras.

      -
      Edité par rouloude 28 novembre 2020 à 15:47:08

      • Partager sur Facebook
      • Partager sur Twitter
        28 novembre 2020 à 15:52:51

        Bonjour, Merci de modifier le titre de votre sujet pour un titre descriptif de votre problématique. 

        Mauvais titre

        Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.

        Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).

        De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.

        Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.

        Pour modifier votre titre, éditez le premier message de votre sujet.

        La modération.

        (titre originel : Besoin d'aide pour programme)

        Liens conseillés

        • Partager sur Facebook
        • Partager sur Twitter
          28 novembre 2020 à 16:49:04

          rouloude a écrit:

          YannisArab a écrit:

          Bonjour, je souhaite réaliser un projet de Scrabble. 

          Tu n'est pas le seul !

          YannisArab a écrit:

          Je dois créer la pioche pourvu de 102 lettres ainsi que leurs score, et le chevalet du joueur qui comporte 7 de ces lettres et scores, 

          102 lettres, pourquoi tu fais alors des tableaux de 101 cases ?

          Pour ton erreur : tu tentes d'assigner une pioche à un chevalet, or ce n'est pas possible, tu ne peux pas assigner des variable de type différents !

          D'ailleurs pourquoi ton chevalet est si grand alors qu'il ne doit contenir que 7 pions.

          Le remplissage de tes tableaux est un peu barbare !

          La solution pour tes pions (il y a plusieurs possibilités) être de créer une structure pion que tu mets ensuite dans tes tableaux (102 pions dans la pioche, ensuite 7 pions tirés au hasard dans la pioche et mis sur le chevalet, puis pion posé sur la table de jeu).

          PS : il ne te reste pas beaucoup de temps, 7 décembre dernier carras.

          -
          Edité par rouloude il y a environ 1 heure

          Merci beaucoup!

          • Partager sur Facebook
          • Partager sur Twitter

          Besoin d'aide pour programme

          × 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