Nombre aléatoires en c

Résolu
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. tu declares une variable d'abord en float
    float nb;

    ensuite
    nb=(float) rand() /RAND_MAX;
    1
    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
      1. c'est pas la bonne syntaxe....
        pour generer un nombre entre 0 et 98
        srand(time(NULL));
        nb=rand()%99;
        0
        1. thank you very much on essai et on te tien au couran
          0
          1. commen faire pour generer des nombres entre ]0,1[?
            0
            1. ça marche san faute.mai pour le doublon c'etai pour jouer la carte de la précision (rires)merci
              0
              1. ok pas de souci
                mets ton post en resolu si tu n'as plus de probleme ;)
                0