Programme de dés en C

Résolu/Fermé
Moufiol Messages postés 75 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 1 juillet 2008 - 17 avril 2008 à 18:25
Moufiol Messages postés 75 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 1 juillet 2008 - 17 avril 2008 à 19:38
Bonjour à tous,

Voila, je requière votre aide car je souhaite faire un programme de dé, où l'utilisateur choisit parmi 3 nombres de faces de dés
Il y aune erreur mais je n'arrive pas à la trouver


#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main ( int argc, char** argv )
{
long nb = 0;
long MAX = 0 ;
long MIN=1;

if (MAX==4)
{ const long MAX = 4, MIN = 1;}

else if(MAX==6)
{const long MAX = 6, MIN = 1;}

else if (MAX==8)
{const long MAX = 8, MIN = 1;}

else
printf("Et non, le genial createur de ce programme n'a pas prevu d'autres chiffres\n");

srand(time(NULL));
nb = (rand() % (MAX - MIN + 1)) + MIN;
printf("le resultat est %ld pour un de de %ld faces\n",nb,MAX);





system("PAUSE");
}



merci, si vous trouvez la solution ;)

4 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
17 avril 2008 à 18:36
MAX sera toujours egale a 0 a aucun moment tu changes sa valeur...
0
Moufiol Messages postés 75 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 1 juillet 2008 6
17 avril 2008 à 18:41
J'ai modifié ainsi :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main ( int argc, char** argv )
{
long nb = 0;
long MAX = 0 ;
long MIN=1;

printf("choississez le nombre de faces du de\n soit 4,6 ou 8\n");

scanf("%ld", MAX);
if (MAX==4)
{
const long MAX = 4, MIN = 1;}

else if(MAX==6)
{
const long MAX = 6, MIN = 1;}

else if (MAX==8)
{

const long MAX = 8, MIN = 1;}

else
printf("Et non, le genial createur de ce programme n'a pas prevu d'autres chiffres\n");

srand(time(NULL));
nb = (rand() % (MAX - MIN + 1)) + MIN;
printf("le resultat est %ld pour un de de %ld faces\n",nb,MAX);

system("PAUSE");
}

mais ca ne marche toujours pas
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
17 avril 2008 à 19:31
la syntaxe de ton scanf n'est pas correct et tes if non plus
essaye ça
#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main ( int argc, char** argv )
{
long nb = 0;
long MAX = 0 ;
long MIN=1;

printf("choississez le nombre de faces du de\n soit 4,6 ou 8\n");

scanf("%ld",& MAX);

if(MAX!=4 && MAX!=6) {
if(MAX!=8)
printf("Et non, le genial createur de ce programme n'a pas prevu d'autres chiffres\n");}
else
{
srand(time(NULL));
nb = (rand() % (MAX - MIN + 1)) + MIN;
printf("le resultat est %ld pour un de de %ld faces\n",nb,MAX);}

system("PAUSE");
} 
0
Moufiol Messages postés 75 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 1 juillet 2008 6
17 avril 2008 à 19:38
Merci bien Mype !
0