Bonsoir,
Je dois programmer un genre de mastermind pour mon bts IG et
je suis bloqué sur une fonction qui ne fonctionne pas comme elle devrait selon moi
Le programme n'est pas terminé du tout mais pour l'instant j'aimerai juste comprenre pourquoi la fonction regles() m'affiche un message 2 fois avant meme d'avoir saisi ce qu'il y avait a saisir, c'est a dire la variable "men"
Lancez le programme , vous verrez mieux de quoi je parle
je vous remercie
#include <stdio.h>
#include <stdlib.h>
int menu();
int retmenu();
int regles();
int jouer();
void deroulement();
void novice();
void expert();
void commando();
int combiNovice();
int main()
{
int select=0; int niveau=0;
select=menu();
switch (select)
{
case 1:
niveau=jouer();
switch (niveau)
{
case 1:
novice();
break;
//rajouter les niveaux suivants//
} break;
case 2:
regles();
break;
}
return 0;
}
int menu()
{
int choix=0;
printf("\t \t ---MASTERMIND---\n");
printf("1- Jouer\n");
printf("2- Afficher regles\n");
printf("3- Quitter\n");
printf("Faites votre choix(1-2-3)\n");
scanf("%d", &choix);
while (choix<1 || choix>3)
{
printf("Veuillez saisir un chiffre compris entre 1 et 3!");
scanf("%d", &choix);
}
return choix;
}
int regles()
{
char men=0;
printf("Regles du jeu\n Le but du mastermind est de BLA BLA BLA...\n");
printf("Appuyer sur 'R' pour retourner au menu\n\n");
scanf("%c", &men);
while (men!='r')
{
printf("Erreur, Appuyer sur 'R' pour retourner au menu\n\n ");
scanf("%c", &men);
}
return menu();
}
int jouer()
{
int lvl=0;
printf("--Selectionnez un niveau de difficulte--\n");
printf("1-Novice\n 2-Expert\n 3-Commando\n Votre choix:\n");
scanf("%d",&lvl);
while (lvl<1 || lvl>3)
{
printf("Erreur, vous devez saisir un chiffre compris entre 1 et 3!\n\n");
scanf("%d", &lvl);
}
return lvl;
}
void novice()
{
printf("Niveau: Novice\n Essayez de decouvrir la combinaison cachee; vous avez maximum 10 essais \n Les couleurs disponibles sont: R J V B\n");
printf("\t****\n");
deroulement();
}
void deroulement()
{
int i=0, nbbc=0,couleur=0;
char tab2[4], tab1[4];
combiNovice(tab1);
do
{
printf("Essai numero %d:\n",i+1);
for (couleur=0; couleur<4; couleur++)
{
scanf("%c",&tab2[couleur]);
}
for (couleur=0; couleur<4; couleur++)
{
if (tab2[couleur]=tab1[couleur])
nbbc=nbbc+1;
printf("Vous avez %d couleurs bien placees",nbbc);
}
} while ((nbbc=4) || (i=10));
if (nbbc=4)
{
printf("Bravo! Vous avez trouvé !! :)");
}
else
{
printf("Desole, vous avez utilisé tous vos essais autorises\n La combinaison etait: \n"); //insérer la combinaison cachée ici//
}