Je ne suis ni un expert en C ni un expert en programmation mais je trouve qu'il y a plusieurs choses qui sont inutiles ou qui rendent la chose confuse :
1) Il n'y a pas de commentaire dans le texte donc à part le nom de la fonction, on doit deviner ce qu'elle fait et ce qu'elle renvoit, or le commentaire est super important.
2) Pour la fonction genereNombre()
- Pourquoi créer une variable qui porte le même nom que celle utilisée dans le main, cela peut porter à confusion.
- D'ailleurs tu pourrais même si je ne me trompe pas ne pas déclarer de variable du tout et faire directement :
- return (rand () % (MAX - MIN + 1)) + MIN;
- Il me semble que je déclarerais les constantes en global puisque c'est une règle générale de ton programme qui ne permet pas qu'un nombre ne soit pas entre 1 et 100
3) Pour la fonction compareNombre(...)
- Je retournerai une valeur de résultat de la comparaison au lieu de renvoyer un nombre que tu connais déjà puisqu'il est en entrée.
Exemple : -1, si ton nombre est plus petit que ton nombre mystère, 0 s'il est égal ou +1 s'il est plus grand.
L'avantage de cette fonction, c'est que du coup tu n'aurais rien à appeler dans ton mais que la fonction compare et genere, une boucle et un if
- A quoi sert le if derrière le else ?
4) Du coup dans le main la logique deviendrait un truc du genre
- Le système génère un nombre mystère
- J'ouvre une boucle dont je ne sors que lorsque mon nombre est trouvé
- J'incrémente mon compteur
- Je demande un nombre à l'utilisateur
- Je le compare à mon résultat
- si - 1, nombre plus petit, si +1, nombre plus grand, si 0, bravo et sortie
- Je ferme la boucle