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
| #include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
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 cryptageMotMystere (char motMystere[], char motMystereCrypte[])
{
long nombreDeLettreMotMystere = 0, i;
nombreDeLettreMotMystere = strlen(motMystere);
for (i = 0; i < nombreDeLettreMotMystere; i++)
{
motMystereCrypte[i] = '*';
}
}
void verificationLettreEntre (char motMystere[], char motMystereCrypte[], char lettreEntre, long *coups)
{
long nombreDeLettreMotMystere = 0, i;
char copieMotMystereCrypte[7] = {0};
strcpy (copieMotMystereCrypte, motMystereCrypte);
nombreDeLettreMotMystere = strlen(motMystere);
for (i = 0; i < nombreDeLettreMotMystere; i++)
{
if (lettreEntre == motMystere[i])
{
motMystereCrypte[i] = lettreEntre;
}
}
if (strcmp (copieMotMystereCrypte, motMystereCrypte) == 0)
{
*coups-= 1;
}
}
void gagne (char motMystere[], char motMystereCrypte[], long coups, int *nouvellePartie, int *sortieBoucle)
{
if (coups == 0)
{
*sortieBoucle = 0;
printf ("\nPerdu, le mot mystere etait : %s\n\n", motMystere);
printf ("Une nouvellePartie ?\n\n");
printf ("1. Oui\n");
printf ("2. Non\n\n");
scanf ("%ld", nouvellePartie);
}
else if (strcmp (motMystere, motMystereCrypte) == 0)
{
*sortieBoucle = 0;
printf ("\nGagne ! Le mot mystere etait bien : %s\n\n", motMystere);
printf ("Une nouvellePartie ?\n\n");
printf ("1. Oui\n");
printf ("2. Non\n\n");
scanf ("%ld", nouvellePartie);
}
if (*nouvellePartie != 1)
{
*nouvellePartie = 0;
}
} |