Nombre aléatoires en c

Résolu
tapsaid Messages postés 63 Statut Membre -  
mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
comment peut-on générer des nombres aleatoires en c.
j'ai utilisé ran(99) pour générer des nombres entre 0 et 98 et le compilateur me sort un error"extra parameter "
Configuration: Windows XP
Firefox 2.0.0.9

7 réponses

  1. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    tu declares une variable d'abord en float
    float nb;

    ensuite
    nb=(float) rand() /RAND_MAX;
    1
  2. tapsaid Messages postés 63 Statut Membre 1
     
    voici le cod et l'erreur se trouve dan void expérience(derniere partie) matté pluto

    #include<math.h>
    #include<stdlib.h>
    #include<stdio.h>
    #include<conio.h>
    int n; float p; int numero[100]; float genere[100]; int gain[100]; int cumule[100];

    void main()
    {int i;void aide(void);void jouer(void);
    entree :
    clrscr();
    printf("\t\t\t JEUX : LES LANCERS DE PIECES\n\t\t ------------------------------\n\n");
    printf("___________________________________\n| | |\n");
    printf("| 1 | JOUER |\n| | |\n");
    printf("-----------------------------------\n| | |\n");
    printf("| 2 | AIDE |\n| | |\n");
    printf("-----------------------------------\n| | |\n");
    printf("| 3 | SORTIR |\n| | |\n");
    printf("-----------------------------------\n\n");

    do {
    printf("\t\tENTRER UN CHIFFRE SELON LE TABLEAU PRECEDANT : ");
    scanf("%d",&i); }
    while(i!=1&&i!=2&&i!=3);
    switch(i)
    { case 1 : jouer();
    break;
    case 2 : aide();printf("\nAppuyer sur n'importe quelle touche pour revenir au menu principal\n");
    getch(); goto entree;
    case 3 : goto sortie;
    }
    scanf("%d",&i);
    sortie : ;
    }
    void aide(void)
    {clrscr();
    printf("\t\t\t\tAIDE\n\t\t\t ------\n\n");
    printf("Ce programme est un jeu qui consiste a la simulation d'un lancer de piece.\nVous devez entrer la probabilit‚ d'avoir pile et le nombre de lancer a effectuer.\nLorsque vous obtenez pile votre gain augmente de 1DH, dans le cas contraire ");
    printf("il diminue de 1 DH.");
    }
    void jouer(void)
    {void experience(void);
    clrscr();
    printf("Entrer le nombre de lancers a effectuer\t");
    scanf("%d",&n);
    do {
    printf("Entrer la probabilit‚ d'obtenir un pile(comprise entre ]0,1[)\t");
    scanf("%f",&p); }
    while((p<=0)||(p>=1));
    experience();
    }

    void experience(void)
    {int i,j;
    printf("\n\n\t\t\t1er LANCER\n Appuyer sur une touche pour lancer la piece. ");
    getch();genere[0]=(rand(99)+1)/100;
    if(genere[0]<p) {gain[0]=-1; printf("\nVous avez obtenu un face. Vous perdez 1DH");}
    else {gain[0]=1; printf("\nVous avez obtenu pile. Vous gagnez 1DH");}
    cumule[0]=gain[0];
    for(i=1;i<n;i++)
    {
    printf("\n\n\t\t\t%dieme LANCER\nAppuyer sur une touche pour lancer la piece. ",i+1);
    getch();genere[i]=(rand(99)+1)/100;
    if(genere[i]<p) {gain[i]=-1; printf("\nVous avez obtenu un face. Vous perdez 1DH");}
    else {gain[i]=1; printf("\nVous avez obtenu pile. Vous gagnez 1DH");}
    cumule[i]=cumule[i-1]+gain[i];
    }
    printf("\n\n----------------------------------------------------------------------\n");
    printf("EXPERIENCES | GAIN | GAIN TOTAL |\n");
    for(j=0;j<n;j++)
    {
    printf("----------------------------------------------------------------------\n");
    printf("EXPERIENCE %d | %d | %d |\n",j+1,gain[j],cumule[j]);
    }
    printf("----------------------------------------------------------------------\n");

    if (cumule[n-1]<=0) printf("Vous avez perdu %d dirham(s).",cumule[n-1]);
    else printf("Vous avez gagn‚ %d dirham(s).",cumule[n-1]);
    }
    0
  3. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    c'est pas la bonne syntaxe....
    pour generer un nombre entre 0 et 98
    srand(time(NULL));
    nb=rand()%99;
    0
  4. tapsaid Messages postés 63 Statut Membre 1
     
    thank you very much on essai et on te tien au couran
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tapsaid Messages postés 63 Statut Membre 1
     
    commen faire pour generer des nombres entre ]0,1[?
    0
  7. tapsaid Messages postés 63 Statut Membre 1
     
    ça marche san faute.mai pour le doublon c'etai pour jouer la carte de la précision (rires)merci
    0
  8. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    ok pas de souci
    mets ton post en resolu si tu n'as plus de probleme ;)
    0