Plop,
Lorsque je souhaite obtenir un nombre aléatoire en C, j’utilise rand(). Mais je ne sais jamais où placer srand(time(NULL)) pour avoir un code propre. Si je le mets dans main.c, il n’a rien à foutre ici. Je voudrais plutôt le placer du côté des fonctions qui utilisent ce nombre aléatoire, mais il risque d’être exécuté plusieurs fois…
Un exemple : je fais un pendu, avec gestion d’un dictionnaire. J’ai besoin de sortir un mot aléatoire du dico, et c’est le seul endroit où j’ai besoin d’un nombre aléatoire. Il est donc logique de chercher à placer srand(time(NULL)) du côté des fonctions de gestion du dictionnaire. Mais où puis-je le mettre ?
L’idéal (d’un point de vue logique) serait de le mettre en vrac dans le fichier .h associé aux fonctions de gestion du dico, mais je n’ose imaginer l’état de la première personne qui fera ça
La seule solution semble être de le laisser au début de main, mais ça me déplaît. N’ai-je donc d’autre choix ?
EDIT : Je crois avoir trouvé une deuxième possibilité. Il suffit d’orienter objet Une fonction d’initialisation des variables nécessaires aux fonctions de gestion du dico pourra par la même occasion faire un petit srand(time(NULL)). Mais autant faire du C++ dans ce cas, non ?