Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème pendu

Mon pendu tourne mais s'arrete avant d'avoir trouver toute les lettres

    9 février 2019 à 12:31:17

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h> 
    #include <time.h> 
    #include <dico.h> 
    #include <masque_tiret.h>
    #include <entree_lettre.h>
    #include <substitution.h>
    
    int main()
    {
    srand(time(NULL)); 
    
    creer_dico();
    int rand_nbr = rand() %10;
    
    char mot_a_trouver[30];
    strcpy(mot_a_trouver,dico[rand_nbr]);
    remplacer_lettres_par_tirets(mot_a_trouver);
    printf("%s\n",mot_affiche);
    while(strcmp(mot_a_trouver, mot_affiche) != 0)
    {
    char lettre;
    int i;
    
    for(i=0;i<10;i++)
    {
    printf("Tapper une lettre\n");
    scanf("%c",&lettre);
    
    if(verifier_lettre(lettre)==0)
    {
    printf("Lettre déjà testée.\n");
    }
    else
    {
    
    remplacer_carac(lettre,mot_a_trouver);
    printf("%s\n",mot_affiche);
    }
    i==i++;
    }
    printf("bravo le jeu est termine\nnombre d'essais: %u",i);
    return 0;
    }
    }
     
    char dico[10][30]; void creer_dico() { strcpy(dico[0],"rouge"); strcpy(dico[1],"lumiere"); strcpy(dico[2],"ordinateur"); strcpy(dico[3],"chaise"); strcpy(dico[4],"bouteille"); strcpy(dico[5],"frites"); strcpy(dico[6],"tomate"); strcpy(dico[7],"porte"); strcpy(dico[8],"musique"); strcpy(dico[9],"histoire"); }
    char lettre;
    unsigned char lettres[26];
    unsigned char verifier_lettre(char lettre)
    {
      int localisation= lettre-97;
      if (lettres[localisation])
    {
    return 0;
    }
    else
    {
    lettres[localisation]=1;
    return 1;
    }
    }
    char mot_affiche[30];
    void remplacer_lettres_par_tirets(char* mot)
    {
    int taille_du_mot=strlen(mot); 
    int i=0;
    for(i=0;i<taille_du_mot;i++)// 
    mot_affiche[i]='-';
    mot_affiche[i]='\0'; 
    }
    
    void remplacer_carac(char l,char*mot)
    {
      char taille_du_mot=strlen(mot);
      int i=0;
      
      for(i=0;i<taille_du_mot;i++)
      {
        if(l==mot[i])
      {
        mot_affiche[i]=l;
      }
      }
    }

    -
    Edité par DylanASB 9 février 2019 à 12:38:11

    • Partager sur Facebook
    • Partager sur Twitter
      11 février 2019 à 11:34:22

      Bonjour, la question est ?

      sinon indente ton code !

      • Partager sur Facebook
      • Partager sur Twitter

      la connaissance est une chose qui ne nous appauvrit pas quand on la partage.

      Mon GitHub

        11 février 2019 à 21:44:45

        Bonjour,

        Quelques questions (non exhaustives).

        Pourquoi une boucle for qui fait 10 tours dans ta boucle while?

        à quoi te sert la ligne suivante ?

        i==i++;



        • Partager sur Facebook
        • Partager sur Twitter

        Problème pendu

        × 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