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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2019
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Jeu du devin avec des lettres

    Bonjour à tous, Je suis en dut mesures physiques et j’ai un projet sur informatique à faire, cela constitue à programmer un jeu en langage C.

    Le jeu est le devin, il consiste à trouver un mot de 7 lettres qui est enregistré par l’ordinateur, le mot est dans un fichier contenant une multitude de mots. Pour trouver le mot en question, l’utilisateur du jeu doit entre un mot de 7 lettres donc et en fonction de la première lettre du mot entre et du mot enregistré, l’ordinateur répond si c est avant ou après (si la 1ere lettre du mot entrée est identique à celle du mot enregistré, si ce n’est pas le cas il dit avant pour dire que la lettre de trouve avant dans l’alphabet ou après)


    Je détail un peu mon raisonnement pour résoudre le problème:
    - Le programme doit savoir lire le bloc note
    - Il doit choisir un mot au hasard dans celui-ci
    - Demander à l'utilisateur d'entrer un mot à 7 lettres
    - Comparer la première lettre à celle entré par l'utilisateur et dire si elle est supérieure, inférieur ou égale à celle du mot choisi au début par le programme.
    - Lorsque la première lettre est identique passer à la seconde est ainsi de suite toujours en demandant un mot à 7 lettres.
    - Incrémenter une variable score, qui correspondra au nombre de coup effectué pour trouver le mot.


    Donc voila j'ai fait un debut de programme qui arrive a lire le 1er mot, je vais d'abord tester ce debut de jeu avec le 1er mot, mais je ne sais pas comment m'y prendre, je ne vois vraiment pas comment comparer les lettres ..
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h> // sert pour avoir des nombres alèatoires
     
    int main()
    {
     
        int out ;
        char motmyst = 0, motentre = 0 ;
        char text[8],b,c,d,e,f,g,h;
     
     
        FILE *fichier;
        fichier = fopen ("mots_de_7_lettres.txt","r"); //ouvre le fichier en mode lecteur
     
     
     
     
            fscanf(fichier,"%s",&motmyst);
            printf("%s\n",&motmyst);// lit un mot du fichier
     
     
     
     
         do
                {
                    printf("PROPOSEZ UN MOT DE SEPT LETTRES <en majuscule> ? \n");
                    scanf("%s",&motentre);
     
     
                        if (motmyst==motentre)
     
                            printf("bravo tu as trouvé");
     
                        else if (motentre!=motmyst)
     
                            printf("reessayez\n");
                } while(motmyst != motentre);
                 fclose(fichier);
                return 0;
     
     
     
    }

  2. #2
    Expert confirmé
    Inscrit en
    mars 2005
    Messages
    1 426
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 1 426
    Points : 4 166
    Points
    4 166

    Par défaut

    L'exercice est une combinaison de problèmes distincts. Isole et désolidarise les tâches une à une, puis implémente chaque solution séparément au sein de sa propre fonction, voire de son propre programme, en vérifiant son bon fonctionnement de manière aussi exhaustive que possible.

    Ces tâches sont par exemple indépendantes, et devraient être implémentées et testées une à une :

    • récupérer un mot depuis l'entrée standard ;
    • tester la validité d'un mot ;
    • comparer deux mots ;
    • etc..

    Une fois validée l'intégrité de chaque brique, tu peux penser à les assembler pour faire un tout cohérent et résoudre un problème composite, plus complexe.

    Citation Envoyé par gargamolle Voir le message
    [...] mais je ne sais pas comment m'y prendre, je ne vois vraiment pas comment comparer les lettres ..
    Cet exercice est probablement une synthèse de ce que vous avez dû voir en cours. Que sais-tu déjà de la nature des chaînes de caractères en C ? Quelles sont les difficultés que tu rencontres ?

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    6 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 6 999
    Points : 19 872
    Points
    19 872
    Billets dans le blog
    1

    Par défaut

    Bonjour
    Citation Envoyé par gargamolle Voir le message
    Bonjour à tous, Je suis en dut mesures physiques et j’ai un projet sur informatique à faire, cela constitue à programmer un jeu en langage C.
    Donc tu es sensé avoir eu des cours de C...


    Citation Envoyé par gargamolle Voir le message
    mais je ne sais pas comment m'y prendre, je ne vois vraiment pas comment comparer les lettres ..
    ... et tu dois avoir aussi eu dans ton cours un chapitre spécial sur les chaines de caractères en C quoi !!!
    Donc déjà (d'après ce que j'ai vaguement lu dans ton code)
    1) pas de "&" devant un nom de variable quel qu'il soit dans printf() (sauf si on veut explicitement afficher l'adresse de la variable). Rien que de voir ça ça laisse rêveur sur ton assiduité dans tes cours de C du début où t'as dû forcément avoir des premiers exemples de printf()...
    2) pas de "&" devant un nom de string dans scanf().
    3) on ne compare pas des chaines via "==" ou "!=" (car dans ce cas on ne compare que les adresse des deux chaines qui sont généralement toujours différentes l'une de l'autre même si leur contenu est, lui, identique)

    Donc revois tes cours et suis les consiels de Matt_Houston.
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

Discussions similaires

  1. Compteur avec des lettres
    Par dodo91 dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 19/05/2009, 16h56
  2. Requête avec des lettres impossibles
    Par ceweb dans le forum PHP & MySQL
    Réponses: 10
    Dernier message: 29/09/2008, 08h36
  3. Réponses: 2
    Dernier message: 09/09/2008, 22h03
  4. probleme avec des lettres dans des conditions
    Par nefas dans le forum C++
    Réponses: 7
    Dernier message: 01/08/2008, 14h25
  5. compter avec des lettres
    Par Décibel dans le forum Access
    Réponses: 2
    Dernier message: 19/04/2006, 08h33

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