Compilateur

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

  • Votes
  • Date
  • Date décroissante
  1. normalement la fonction d 'entrée dans un programme s'appelle main je pense qu'elle manque
    1. 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"
      1. 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.
        1. 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)
          1. #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
            1. 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