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

8 réponses

Utilisateur anonyme
 
normalement la fonction d 'entrée dans un programme s'appelle main je pense qu'elle manque
0
nobie-cs Messages postés 157 Statut Membre 17
 
tu change "int my_rand (void)" par sa "int main ()"
0
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
nobie-cs Messages postés 157 Statut Membre 17
 
tu peut affiche tout ton code la fonction mainaussi
0
Utilisateur anonyme
 
int main(char * argv[]){...
}
0
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
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