Bonjour,
le programme affiche du vide avec avoir enregistrer les donnees du joueurs l'appel des fonctions ne s'effectue pas pourtant il n' ya aucun problemes de compilation je suppose que ca doit etre un bug
pouvez vous m'aider svp?????
main
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
void presentation();
void joueur1();
void joueur2();
void joueur3();
int main()
{
int const min =1;
int nbrejoueur=0,niveau=0,nbrealeatoire=0,nbre=0,nbre1=0,nbre2=0,nbre3=0,coups=0,max=0;
int i=0;
srand(time(NULL));
presentation();
system("color BC");
printf("\t\t\t\t\t MODE D'EMPLOI\n\n\n");
printf("Chers joueurs vous devez choisir le nombres de joueurs desirant joueurs ce nombre etant inferieur ou egale a 3.\n Ensuite choisir le niveau de difficulte i.e. facile,moyen ou difficile\n Chaque joueurs doit entrer ces donnees afin qu'il soit enregistrer\n Le principe du jeu etant d'etre le 1er a deviner le nombre aleatoire choisi par le programme\n et ceci en tres peu de tentatives\n");
do
{
printf("\n\n\n\nCOMBIEN DE JOUEURS: ");
scanf("%d",&nbrejoueur);
printf("\n\nNIVEAU: ");
scanf("%d",&niveau);
} while (nbrejoueur<1 || nbrejoueur>3 || niveau<1 || niveau>3);
donnees joueur [nbrejoueur];
//fflush(stdin);
for (i=1;i<=nbrejoueur;i++)
{
printf("ENTRER LES DONNEES DU JOUEURS NUMERO %d\n\n",i);
fflush(stdin);
printf("\n PSEUDO: ");
gets(joueur[i].pseudo);
fflush(stdin);
printf("\n\nSEXE: ");
gets(joueur[i].sexe);
fflush(stdin);
}
if (nbrejoueur == 1)
{
joueur1();
}
else if (nbrejoueur == 2)
{
joueur2();
}
else if (nbrejoueur == 3)
{
joueur3();
}
else
{
printf("la limite est de 3 joueurs maximum.\n");
}
return 0;
}
fonction joueur1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
void joueur1()
{
int const min =1;
int nbrejoueur=0,niveau=0,nbrealeatoire=0,nbre=0,coups=0,max=0;
if (nbrejoueur==1 && niveau==1)
{
max=10;
printf("\t\t NIVEAU: FACILE\n\nNOMBRE DE JOUEUR: 1\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==1 && niveau==2)
{
max=1000;
printf("\t\t NIVEAU: MOYEN\n\nNOMBRE DE JOUEUR: 1\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==1 && niveau==3)
{
max=100000;
printf("\t\t NIVEAU: DIFFICILE\n\nNOMBRE DE JOUEUR: 1\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
do
{
scanf("%d",&nbre);
coups++;
if (nbre<nbrealeatoire)
{
printf("NOMBRE INFERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE SUPERIEUR: ");
}
else if (nbre>nbrealeatoire)
{
printf("NOMBRE SUPERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE INFERIEUR: ");
}
else
{
printf("FELICITATION VOUS AVEZ TROUVE LE BON NUMERO EN %d COUPS\n\n LE NOMBRE ALEATOIRE EST : %d\n\n",coups,nbrealeatoire);
}
} while (nbre != nbrealeatoire);
}
fonction joueur2
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
void comparaison();
void joueur2()
{
int const min =1;
int nbrejoueur=0,niveau=0,nbrealeatoire=0,nbre=0,coups=0,max=0;
int i=0;
if (nbrejoueur==2 && niveau==1)
{
max=10;
printf("\t\t NIVEAU: FACILE\n\nNOMBRE DE JOUEUR: 2\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==2 && niveau==2)
{
max=1000;
printf("\t\t NIVEAU: MOYEN\n\nNOMBRE DE JOUEUR: 2\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==2 && niveau==3)
{
max=100000;
printf("\t\t NIVEAU: DIFFICILE\n\nNOMBRE DE JOUEUR: 2\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
comparaison();
}
fonction joueur3
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
void comparaison();
void joueur3()
{
int const min =1;
int nbrejoueur=0,niveau=0,nbrealeatoire=0,nbre=0,coups=0,max=0;
int i=0;
if (nbrejoueur==3 && niveau==1)
{
max=10;
printf("\t\t NIVEAU: FACILE\n\nNOMBRE DE JOUEUR: 3\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==3 && niveau==2)
{
max=1000;
printf("\t\t NIVEAU: MOYEN\n\nNOMBRE DE JOUEUR: 3\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==3 && niveau==3)
{
max=100000;
printf("\t\t NIVEAU: DIFFICILE\n\nNOMBRE DE JOUEUR: 3\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
comparaison();
}
fonction comparaison
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
void comparaison()
{
int nbrejoueur=0,nbrealeatoire=0,nbre=0,coups=0;
int i=0;
do
{
for (i=0;i<nbrejoueur;i++)
{
printf("JOUEUR %d\n\n choix[%d]= ",(i+1),(i+1));
scanf("%d",&nbre);
}
coups++;
if (nbre<nbrealeatoire)
{
printf("NOMBRE INFERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE SUPERIEUR: ");
}
else if (nbre>nbrealeatoire)
{
printf("NOMBRE SUPERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE INFERIEUR: ");
}
else
{
printf("FELICITATION VOUS AVEZ TROUVE LE BON NUMERO EN %d COUPS\n\n LE NOMBRE ALEATOIRE EST : %d\n\n",coups,nbrealeatoire);
}
} while (nbre != nbrealeatoire);
}
fichiers headers
#ifndef DONNEES_H_INCLUDED
#define DONNEES_H_INCLUDED
typedef struct donnees donnees;
struct donnees
{
char pseudo[50];
char sexe[10];
};
#endif // DONNEES_H_INCLUDED
Dalfab
Messages postés706Date d'inscriptiondimanche 7 février 2016StatutMembreDernière intervention 2 novembre 2023101 11 juin 2016 à 13:03
Bonjour,
Les fonctions joueurX() initialisent toutes le niveau à 0, puis recherchent s'il vaut 1, 2 ou bien 3.
Il faut passer des paramètres aux fonctions (par exemple le niveau)
j'ai fait ce que vous avez proposer mais rien a changer a part cette erreur qui s'affiche
warning variable nbrealeatoire set but not use
voici le code modifier
main
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
void presentation();
int joueur1(int niveau);
int joueur2(int niveau);
int joueur3(int niveau);
int main()
{
int nbrejoueur=0;
int i=0;
srand(time(NULL));
presentation();
system("color BC");
printf("\t\t\t\t\t MODE D'EMPLOI\n\n\n");
printf("Chers joueurs vous devez choisir le nombres de joueurs desirant joueurs ce nombre etant inferieur ou egale a 3.\n Ensuite choisir le niveau de difficulte i.e. facile,moyen ou difficile\n Chaque joueurs doit entrer ces donnees afin qu'il soit enregistrer\n Le principe du jeu etant d'etre le 1er a deviner le nombre aleatoire choisi par le programme\n et ceci en tres peu de tentatives\n");
int niveau=0;
do
{
printf("\n\n\n\nCOMBIEN DE JOUEURS: ");
scanf("%d",&nbrejoueur);
printf("\n\nNIVEAU: ");
scanf("%d",&niveau);
} while (nbrejoueur<1 || nbrejoueur>3 || niveau<1 || niveau>3);
donnees joueur [nbrejoueur];
//fflush(stdin);
for (i=1;i<=nbrejoueur;i++)
{
printf("ENTRER LES DONNEES DU JOUEURS NUMERO %d\n\n",i);
fflush(stdin);
printf("\n PSEUDO: ");
gets(joueur[i].pseudo);
fflush(stdin);
printf("\n\nSEXE: ");
gets(joueur[i].sexe);
fflush(stdin);
}
if (nbrejoueur == 1)
{
joueur1(niveau);
}
else if (nbrejoueur == 2)
{
joueur2(niveau);
}
else if (nbrejoueur == 3)
{
joueur3(niveau);
}
else
{
printf("la limite est de 3 joueurs maximum.\n");
}
return 0;
}
fonction joueurs 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
int joueur1(int niveau)
{
int const min =1;
int nbrejoueur=0,nbrealeatoire=0,nbre=0,coups=0,max=0;
if (nbrejoueur==1 && niveau==1)
{
max=10;
printf("\t\t NIVEAU: FACILE\n\nNOMBRE DE JOUEUR: 1\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==1 && niveau==2)
{
max=1000;
printf("\t\t NIVEAU: MOYEN\n\nNOMBRE DE JOUEUR: 1\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==1 && niveau==3)
{
max=100000;
printf("\t\t NIVEAU: DIFFICILE\n\nNOMBRE DE JOUEUR: 1\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
do
{
scanf("%d",&nbre);
coups++;
if (nbre<nbrealeatoire)
{
printf("NOMBRE INFERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE SUPERIEUR: ");
}
else if (nbre>nbrealeatoire)
{
printf("NOMBRE SUPERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE INFERIEUR: ");
}
else
{
printf("FELICITATION VOUS AVEZ TROUVE LE BON NUMERO EN %d COUPS\n\n LE NOMBRE ALEATOIRE EST : %d\n\n",coups,nbrealeatoire);
}
} while (nbre != nbrealeatoire);
return 0;
}
fonction joueurs 2
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
void comparaison();
int joueur2(int niveau)
{
int const min =1;
int nbrejoueur=0,nbrealeatoire,max=0;
if (nbrejoueur==2 && niveau==1)
{
max=10;
printf("\t\t NIVEAU: FACILE\n\nNOMBRE DE JOUEUR: 2\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==2 && niveau==2)
{
max=1000;
printf("\t\t NIVEAU: MOYEN\n\nNOMBRE DE JOUEUR: 2\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==2 && niveau==3)
{
max=100000;
printf("\t\t NIVEAU: DIFFICILE\n\nNOMBRE DE JOUEUR: 2\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire=((rand()%(max-min+1))+min);
printf("A VOUS DE JOUER\n");
}
comparaison();
return 0;
}
fonction joueurs 3
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
void comparaison();
int joueur3(int niveau)
{
int const min =1;
int nbrejoueur=0,nbrealeatoire,max=0;
if (nbrejoueur==3 && niveau==1)
{
max=10;
printf("\t\t NIVEAU: FACILE\n\nNOMBRE DE JOUEUR: 3\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire= (rand()%(max-min+1))+ min;
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==3 && niveau==2)
{
max=1000;
printf("\t\t NIVEAU: MOYEN\n\nNOMBRE DE JOUEUR: 3\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire= (rand()%(max-min+1))+ min;
printf("A VOUS DE JOUER\n");
}
else if (nbrejoueur==3 && niveau==3)
{
max=100000;
printf("\t\t NIVEAU: DIFFICILE\n\nNOMBRE DE JOUEUR: 3\n");
printf("CHOIX DU NOMBRE PAR LE JEU\n\n");
nbrealeatoire= (rand()%(max-min+1))+ min;
printf("A VOUS DE JOUER\n");
}
comparaison();
return 0;
}
fonction comparaison
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "donnees.h"
void comparaison()
{
int nbrejoueur=0,nbrealeatoire=0,nbre=0,coups=0;
int i=0;
do
{
for (i=0;i<nbrejoueur;i++)
{
printf("JOUEUR %d\n\n choix[%d]= ",(i),(i));
scanf("%d",&nbre);
coups++;
if (nbre<nbrealeatoire)
{
printf("NOMBRE INFERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE SUPERIEUR: ");
}
else if (nbre>nbrealeatoire)
{
printf("NOMBRE SUPERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE INFERIEUR: ");
}
else
{
printf("FELICITATION VOUS AVEZ TROUVE LE BON NUMERO EN %d COUPS\n\n LE NOMBRE ALEATOIRE EST : %d\n\n",coups,nbrealeatoire);
}
}
} while (nbre != nbrealeatoire);
}
headers
#ifndef DONNEES_H_INCLUDED
#define DONNEES_H_INCLUDED
typedef struct donnees donnees;
struct donnees
{
char pseudo[50];
char sexe[10];
};
#endif // DONNEES_H_INCLUDED
Dalfab
Messages postés706Date d'inscriptiondimanche 7 février 2016StatutMembreDernière intervention 2 novembre 2023101
>
erzascarlette
11 juin 2016 à 19:02
Euh, j'avais indiqué par exemple le niveau mais c'est aussi le cas de nbredejoueur, il peut aussi y en avoir d'autres choses.
merci pour le conseil j'ai changer les types de toutes les fonctions j'ai mis des parametres pour l'appel ca fonctionne
pouriez vous m'aider encore un peu voici le probleme
prenons l'exemple de 3 joueurs
lorsque le joueurs 2 trouve le nombre aleatoire la boucle ne s'arrete pas mais demande au joueurs 3 d'entrer un nbre pour faire la comparaison mais moi j'aimerai qu'il s'arrete des que l'un des jours trouve le nbre aleatoire generer par l'ordinateur
do
{
for (i=0;i<nbrejoueur;i++)
{
printf("\nJOUEUR %d\n\n choix[%d]= ",i,i);
scanf("%d",&nbre);
coups++;
if (nbre<nbrealeatoire)
{
printf("\t\t\t\t\tNOMBRE INFERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE SUPERIEUR: ");
}
else if (nbre>nbrealeatoire)
{
printf("\t\t\t\t\tNOMBRE SUPERIEUR AU NOMBRE ALEATOIRE\n\nSAISIE UN NOMBRE INFERIEUR: ");
}
else
{
printf("\t\t\t\t\tFELICITATION VOUS AVEZ TROUVE LE BON NUMERO EN %d COUPS\n\n LE NOMBRE ALEATOIRE EST : %d\n\n",coups,nbrealeatoire);
}
}
} while (nbre != nbrealeatoire);
11 juin 2016 à 15:57
warning variable nbrealeatoire set but not use
voici le code modifier
main
11 juin 2016 à 19:02
11 juin 2016 à 21:07
pouriez vous m'aider encore un peu voici le probleme
prenons l'exemple de 3 joueurs
lorsque le joueurs 2 trouve le nombre aleatoire la boucle ne s'arrete pas mais demande au joueurs 3 d'entrer un nbre pour faire la comparaison mais moi j'aimerai qu'il s'arrete des que l'un des jours trouve le nbre aleatoire generer par l'ordinateur
12 juin 2016 à 08:44