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 111 112 113 114 115 116 117 118 119 120 121
|
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
using namespace std;
#define maxnom 20
int main()
{
int nb_essais=0,nb,j, i, cpt;
int correct=0, malplace=0;
int entree[5], tmpcode[5];
char code[6],essai[2],nom[2][maxnom];
nb=0;
i=0;
j=0;
cpt=0;
rewind(stdin);
srand(time(0));
//determination de la valeur à découvrir
for(j=0;j<5;j++)
{
code[j]=(rand()%8)+1;
printf("%d",code[j]);
}
//saisie des noms des 2 joueurs
for(j=1;j<=2;j++)
{
printf("\nVeuillez saisir le nom du joueur %d: ",j);
scanf("%s", &nom[j]);
}
//début du jeux
i=0;
j=0;
do
{
//stockage de la valeur a trouver dans une variable temporaire
for (i=0; i<5; i++)
{
tmpcode[i]= code[i];
}
//saisie des propositions des joueurs
for(j=1;j<=2;j++)
{
printf("\nJoueur %s entrez votre proposition (5 chiffres): \n",nom[j]);
scanf("%s",&essai[j]);
cpt=0;
cpt=strlen(essai)-1;
nb_essais++;
printf("%d ",cpt);
}
//transposition de la valeur à trouver dans un tableau afin de faire les comparaisons
for(i=4; i>=0; i--)
{
entree[i]= essai[i] % 10;
essai[i] /= 10;
}
correct=0;
//tri du tableau afin de determiner les valeurs bien placées
for (i=0; i<5; i++)
{
for (int j=0; j<5; j++)
{
if ((j != i) && (entree[i]==tmpcode[j]))
{
malplace++;
entree[i]= -1;
tmpcode[j]= -2;
break;
}
}
}
malplace=0;
//tri du tableau afin de determiner les valeurs bonne mais mal placées
for (i=0; i<5; i++)
{
if ((j != i) && (entree[i]==tmpcode[j]))
{
malplace++;
entree[i]= -1;
tmpcode[j]= -2;
}
}
printf("Vous avez %d chiffres bien place(s)%d mal place(s)\n",correct,malplace);
} while ((nb_essais < 15) && (correct != 5));
if(nb_essais == 16)
{
printf("Plus de 16 essais, vous avez perdu. Le code etait \n");
for (i=0; i<5; i++)
{
printf("%d",code[i]);
}
}
else if(correct == 5)
{
printf("Gagne ! Nb d'essais : %d\n ",nb_essais );
}
system("pause");
return 0;
} |
Partager