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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
void MyFlush(void);
int main()
{
int i ;
int nbEssai = 10;
int longueurchaine = 10;
int ChaineIdentique = 1;
int boolean = 0;
const char motSecret[10] = "elephant";
char motSecretcopy[10];
char lettre;
char chaine1[longueurchaine] , chaine2[longueurchaine];
/*******************************/
/** longueurchaine est égal a la taille de la chaine "motSecret" .*/
longueurchaine = strlen(motSecret);
/*******************************/
/** création d'un tableau d'étoile égale a la longueur de la chaine motSecret .*/
for (i=0; i<longueurchaine; i++)
{
motSecretcopy[i]='*';
}
/*******************************/
printf("\n");
printf("Bienvenue dans le Pendu\n");
/*******************************/
/** tant que le nombre dessai est inférieur à 0 ou que la chaine de caractère est différente on boucle */
while (nbEssai > 0 && ChaineIdentique!=0 )
{
printf("\nIl vous reste %d essai \n\n",nbEssai);
printf("\nEntrer une lettre ! ");
scanf ("%c",&lettre);
MyFlush();
boolean=0;
/** boucle qui parcours le tableau */
for (i=0; i<longueurchaine; i++ )
{
/** Condition qui vérifie si la lettre entrer est égal au tableau a la position "i"
si oui je copie la lettre entrer dans un autre tableau et je met la variable
"boolean a a 1 afin de ne pas décrémenter la variable "essaie" */
if (lettre == motSecret[i])
{
motSecretcopy[i]=lettre;
boolean=1;
}
}
/*******************************/
/** Boucle qui affiche le tableau */
for (i=0; i<longueurchaine; i++)
{
printf("%c",motSecretcopy[i]);
}
/** La variable " ChaineIdentique " contient la fonction strcmp qui permet de verifier si deux chaine de caractére sont identiques .*/
ChaineIdentique = strcmp(motSecret, motSecretcopy) ;
/** Condition qui verifie si ma variable " boolean " est égal a 0 si oui la variable " nbEssaie " est décrémenter de 1 */
if ( boolean == 0)
{
nbEssai--;
}
}
/*******************************/
/** Affichage du tableau a la fin du grace a une boucle */
printf("\n\n");
printf("\n");
for (i=0; i<longueurchaine; i++)
{
printf("%c",motSecretcopy[i]);
}
return 0;
}
/*******************************/
/** Fonction qui permet de vider le scanf avant de le réutiliser dans une boucle afin d'éviter qui garde en mémoire un caractère */
void MyFlush(void)
{
scanf("%*[^\n]");
getchar();
} |
Partager