logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 Re : Scripts, programmes et robots » Jeu du pendu en langage C » 06-11-2014 11:59:31

jessica08
Merci,
mais comment je fais pour trouver le trouver le gcc std=c99 ?

#2 Scripts, programmes et robots » Jeu du pendu en langage C » 06-11-2014 11:04:36

jessica08
Réponses : 3
Bonjour,

Je suis étudiante et j'ai le jeu du pendu avec dictionnaire de 10 mots à rendre et je suis bloqué dessus enfait j'arrive pas à faire le lien entre le pendu et le dico, j'ai fait quelque chose mais je n'en suis pas du tout sûre vu que je débute dans ce domaine.

Merci à vous car vraiment je galère. sad

Voici mon programme :


#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>

char lireCaractere();


char *strdup(const char *s) {
    char *d;
    d = malloc((strlen(s)+1) * sizeof(char));
    strcpy(d, s);
    return d;
}

int main(int argc, char *argv[])
{
    FILE *f; //lepointeur
    char **dictionnaire;
    char mot[81];
    size_t nmots;

    /* Lecture du dictiopnnaire */
    f = fopen("dico.txt", "r"); // on ouvre le dictionnaire en lecture seule
    fscanf(f, "%d", &nmots);
    dictionnaire = malloc(nmots * sizeof(char *));

    for (size_t i = 0; i < nmots; ++i) {
            fscanf(f, "%80s", mot);
            dictionnaire[i] = strdup(mot);
    }

    /* Test: affichage */
    for (size_t i = 0; i < nmots; ++i)
        printf("Mot no %d: '%s'\n", i, dictionnaire[i]);



  long nombrecoups = 10 //nombres de coups maximums est de 10
  char motsecret; //le mot secret à découvrir
  long nombrecaracteres = 0; // initialisation du nombre de caractère à 0
  long i = 0; // variable i
  char caractereentre;
  char *motdecouvert;
  printf("Bienvenue dans le pendu\n\n");
  nombreCaracteres = strlen(motMystere);
     motDecouvert = (char *) malloc(nombreCaracteres * sizeof(char));
        for(i=0;i<nombreCaracteres;i++) motDecouvert[i]='*';
  do
  {
    i = 0;
    printf("Il vous reste %ld coups a jouer\n", nombreCoups);

    printf("Quel est le mot cache : ");

    do
    {
      printf("%c", motDecouvert[i]);
      i++;
    } while(i != nombreCaracteres);
    printf("\n");
    printf("Proposez une lettre : ");
    caractereEntre = lireCaractere();
    trouverEtRemplacer(motMystere, motDecouvert, caractereEntre, nombreCaracteres);
    if(strchr(motMystere, caractereEntre) == 0)
    {

      nombreCoups--;
    }

  } while(nombreCoups != 0);
  */
  return 0;
}
char lireCaractere()
{
    char caractere = 0;

    caractere = getchar(); // On lit le premier caractère
    caractere = toupper(caractere); // On met la lettre en majuscule si elle ne l'est pas déjà

    // On lit les autres caractères mémorisés un à un jusqu'à l'\n (pour les effacer)
    while (getchar() != '\n') ;

    return caractere; // On retourne le premier caractère qu'on a lu

}

void trouverEtRemplacer(char motSecret[], char motTrouver[], char lettre)
{
    char caractereActuel = 0;
    long i = 0;

    do
    {
        caractereActuel = motSecret[i];

        if(caractereActuel == lettre)
        {
            motTrouver[i] = motSecret[i];
        }
        i++;
    }while(motSecret[i] != '\0');
}
 

Pied de page des forums

Propulsé par FluxBB