Compilateur

Moustiquet Messages postés 254 Statut Membre -  
nobie-cs Messages postés 157 Statut Membre -
Bonjour,
#include <stdio.h>
#define N 100
#define RAND_MAX 6

int my_rand (void)
{
   static int tab[N];
   static int first = 0;
   int index;
   int rn;

   if (first == 0)
   {
      int i;

      srand (time (NULL));
      for (i = 0; i < N; i++)
         tab[i] = rand();
      first = 1;
   }
   index = (int)(rand() / RAND_MAX * (N - 1));
   rn = tab[index];
   tab[index] = rand();
   return (rn);
}

message du compilateur:
[Linker error] undefined reference to `WinMain@16'
ld returned 1 exit status
Quelqu'un peu m'expliquer ce message du compilateur Merci
Configuration: SustemeMicosoft Windows version 5.1.2600 Srevive 2 Processeurx86 Family 15 modele4 BiosPhoenix Tech memoire physique totale 512

8 réponses

  1. jmg78
     
    normalement la fonction d 'entrée dans un programme s'appelle main je pense qu'elle manque
    0
  2. nobie-cs Messages postés 157 Statut Membre 17
     
    tu change "int my_rand (void)" par sa "int main ()"
    0
  3. Moustiquet Messages postés 254 Statut Membre
     
    Si je met int main le comilateur me di
    4 C:\Documents and Settings\Claude\Mes documents\aleat.c syntax error before "int"
    4 C:\Documents and Settings\Claude\Mes documents\aleat.c syntax error before "void"
    0
  4. loupius Messages postés 789 Statut Membre 148
     
    Bizarre, je ne vois pas pourquoi le compilateur n'accepterait pas 'int main(void)'... !!!
    Par contre il va certainement légèrement râler pour le 'RAND_MAX', mais ce n'est pas grave.
    C'est la ligne index = (int)(rand() / RAND_MAX * (N - 1)); qui me pose problème. Es-tu sûr que la valeur 'index' va rester dans les clous ? Sa valeur devant rester comprise entre 0 et 99 inclus.
    Bonne continuation.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Moustiquet Messages postés 254 Statut Membre
     
    5 C:\Documents and Settings\Claude\Mes documents\aleat.c syntax error before '{' token
    voici le message du compilateur si je met int main au lieu de int my_rand (void)
    0
  7. nobie-cs Messages postés 157 Statut Membre 17
     
    tu peut affiche tout ton code la fonction mainaussi
    0
  8. Moustiquet Messages postés 254 Statut Membre
     
    #include<stdio.h>
    #include <time.h>
    #include<stdio.h>
    
    main()
    {     
            int resultat;   
            srand(time(NULL));
            resultat=rand()%6+1;
            printf("résultat de lancement du de : %d",resultat);
            getch();
            system("pause");
            
    }

    Ce petit programme me donne a resultat un nombre aleatoire entre 1 et 6. Comment a patir de ce programme je peux demander au joueur de lancer le dé et d'accumulé les resultat de 10 lancer de dé dans un tableau. Merci
    0
    1. nobie-cs Messages postés 157 Statut Membre 17
       
      tu doit pas utiliser system("pause"); c'est pas du "C"tu met "getchar()" a sa place
      en plus la fonction main retourne un int "int main(){ return 0; }"
      tu déclare un tableau de 10
      tu initialise ton seed "srand(time(NULL));"
      après tu rentre dans une boucle tu met le "rand()%6+1;" dans les élément du tableau
      0