Programme de dés en C

Résolu
Moufiol Messages postés 75 Statut Membre -  
Moufiol Messages postés 75 Statut Membre -
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 ;)
Configuration: Windows Vista
Firefox 2.0.0.14

4 réponses

  1. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    MAX sera toujours egale a 0 a aucun moment tu changes sa valeur...
    0
  2. Moufiol Messages postés 75 Statut Membre 6
     
    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
  3. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    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
  4. Moufiol Messages postés 75 Statut Membre 6
     
    Merci bien Mype !
    0