J'ai découvert les joies (ou pas) de la programmation il a de ça deux mois. Mon professeur nous a donné comme consigne de réaliser un mastermind basique. Cependant, j'ai besoin de votre aide car je me retrouve bloqué sans solution. Tout fonctionne pour le moment, mais il me manque une dernière chose : les valeurs qui s'affichent ne sont pas du tout celles attendues.
La phrase " vous avez ... chiffres bien placé et ... mal placé " est complètement fausse. Mais je n'arrive pas à comprendre pourquoi. Je bloque donc sur les conditions avec " if "...
Si quelqu'un pourrait m'éclairer je suis preneur. Merci beaucoup par avance.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int J1[4], J2[4];
int x, y;
int inutile, essai=0, bienP, malP ; //RAJOUTE POUR EFFECTUER UNE TRANSITION ENTRE J1/J2
printf("Saisissez une combinaison de 4 chiffres : \n"); //SAISI DES DONNEES POUR LE JOUEUR 1
for (x=0; x<4; x++)
{
scanf("%d", &J1[x]);
}
printf("Votre combinaison est : ""%d-%d-%d-%d\n\n", J1[0], J1[1], J1[2], J1[3]);
printf("Maintenant, place au joueur 2, entrez 1 pour valider. \n"); // MOYEN POUR EFFACER LA CONSOLE
scanf("%d", &inutile);
system("cls");
//ENTREE DES DONNEES PAR LE JOUEUR 2
do
{
bienP = 0 ;
essai = essai + 1; // RAJOUTE +1 ESSAI A CHAQUE TENTATIVE DU JOUEUR 2
printf("Saisissez une combinaison en appuyant sur entree entre chaque chiffre :\n");
for (y = 0; y<4; y++)
{
scanf("%d", &J2[y]);
}
printf("""%d-%d-%d-%d\n\n", J2[0], J2[1], J2[2], J2[3]);
if (J1[1]==J2[2] || J1[1] == J2[3]|| J1[1] == J2[0])
{
malP ++;
}
if (J1[2] == J2[1] || J1[2] == J2[3] || J1[2] == J2[0])
{
malP ++;
}
if (J1[3] == J2[0] || J1[3] == J2[1] || J1[3] == J2[2])
{
malP ++;
}
if (J1[0] == J2[1] || J1[0] == J2[2] || J1[0] == J2[3])
{
malP ++;
}
if ( J1[1] == J2[1] );
{
bienP = bienP + 1;
}
if ( J1[2] == J2[2] );
{
bienP = bienP + 1;
}
if ( J1[3] == J2[3] );
{
bienP = bienP + 1;
}
if ( J1[4] == J2[4] );
{
bienP = bienP + 1;
}
printf("Vous avez %d chiffre(s) a la bonne place et %d chiffre(s) a la mauvaise place.\n", bienP, malP);
}
while ( J1[0] != J2[0] || J1[1] != J2[1] || J1[2] != J1[2] || J1[3] != J2[3] ) ;
printf("Vous avez reussi en %d essai(s)", essai);
return 0;
}
Merci pour vos réponses, désormais tout fonctionne
Vérification de données : Projet mastermind.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent