Précédent   Forum du club des développeurs et IT Pro > C et C++ > C > Débuter
Débuter Forum d'entraide pour débuter en langage C. Avant de poster -> FAQ C
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/02/2013, 19h28   #1
MAMADU
Invité de passage
 
Homme
Étudiant
Inscription : février 2013
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : février 2013
Messages : 1
Points : 0
Points : 0
Par défaut Jeu du pendu

je suis un débutant en programmation et j'ai besoin d'aide pour la résolution d'un programme en C.
Je vous présente l'exercice :
"Un jeu, nommé le pendu, consiste à deviner un mot en un certain nombre d'essais. Pour informatiser ce jeu nous avons besoin d'un tableau contenant les mots à deviner. Voici la stratégie que nous avons adoptée.
Les mots à deviner sont situés dans trois tableaux correspondant à des catégories. Les catégories sont: sports (tableau sports), musique (tableau musique) et pays (tableau pays). Chaque tableau contiendra entre 10.
Le programme demande la catégorie désirée. On détermine aléatoirement l’indice du tableau à l'aide de la fonction rand(). Le programme affiche un nombre de traits correspondant aux nombres de lettres du mot.
Le joueur doit deviner le mot que l'ordinateur a choisi. Pour ce faire, le joueur précise une lettre de l'alphabet. Chaque occurrence de la lettre est affichée à son emplacement dans le mot si le joueur a deviné la lettre. Si la lettre ne fait pas partie du mot, le joueur commet une faute et un message l'informe du verdict. Un joueur peut commettre un maximum de 5 fautes par mot. À la cinquième faute, il perd la partie et se fait "pendre". Le joueur peut préciser le caractère "*" indiquant qu'il a deviné le mot. L'ordinateur l'invite ensuite à proposer un mot. S'il s'agit du bon mot, le joueur gagne. Par contre, s'il ne s'agit pas du bon mot, le joueur perd aussitôt la partie. Lorsque le joueur trouve le mot, c'est-à-dire qu'il a deviné toutes les lettres du mot sans commettre 5 fautes, un message de félicitations lui est adressé. Le jeu se poursuit tant que le joueur désire deviner un nouveau mot.
Une fois que le joueur ne désire plus deviner de mot (en tapant le ?), les statistiques suivantes sont affichées : le pourcentage de mots devinés par rapport au nombre de mots à deviner;
Pour les mots que le joueur a réussi à deviner:
le plus grand nombre d’essais utilisés pour deviner un mot; le plus petit nombre d’essais utilisés pour deviner un mot; le nombre moyen d’essais utilisés pour deviner les mots.
N.B. La longueur maximale d'un mot est de 25 caractères.
Un essai correspond à entrer une lettre pour deviner le mot. Les caractères * et ? ne sont pas comptés comme un essai. Une faute correspond à un essai dont la lettre n’est pas dans le mot.
La fonction rand(), du fichier d’en-tête <stdlib.h>, retourne un entier compris entre 0 et 32767.
La fonction rand() nécessite un appel unique à la fonction srand() qui correspond à introduire un germe dans le générateur de nombre pseudo-aléatoire. La fonction srand() sollicite l’horloge de l’ordinateur, il faut donc ajouter l’inclusion du fichier <time.h>. Voici un bref exemple d’utilisation obtenu de l’aide de Visual C++. "
Merci pour votre attention!
Fichiers attachés
Type de fichier : c lependu.c (6,9 Ko, 12 affichages)
MAMADU est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2013, 00h49   #2
Joker-eph
Membre expérimenté
 
Inscription : octobre 2004
Messages : 329
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 329
Points : 528
Points : 528
Plus précisément tu as besoin d'aide sur quoi ? Parce que tu ne t'attends pas à ce qu'on fasse l'exercice à ta place n'est-ce pas ?

En général on essaye d'écrire un algorithme et on pose des questions sur les parties qu'on n'arrive pas à formuler, puis on essaye d'écrire le code et on pose des questions sur les points précis qui nous sont problématique.
Joker-eph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2013, 14h55   #3
Ngork
Membre chevronné
 
Homme
Auditeur informatique
Inscription : avril 2009
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Auditeur informatique
Secteur : Finance

Informations forums :
Inscription : avril 2009
Messages : 119
Points : 681
Points : 681
J'ai lu le code donné avec ton message.

En première analyse, sans même entrer dans le fond du sujet, tu as beaucoup d'erreurs de syntaxe et certaines fonctions ne sont peut-être pas judicieusement choisies !
Je te suggère notamment de te pencher sur les fonctions printf, getch, getchar, et de revoir la méthode d'initialisation de tes structures.
Enfin, rappelle-toi que si une fonction est déclarée en int, il faut que cette fonction retourne effectivement un int, sinon, si tu n'attends pas de valeur en retour, déclare-la en void !

Bon courage !
__________________
<< Il n'est pas dans Ses intentions de tout faire, ni donc de nous dépouiller de notre libre-arbitre et de cette poignée de gloire qui nous appartient. >> (Le Prince, Nicolas Machiavel)
Ngork est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h12.


 
 
 
 
Partenaires

Hébergement Web