Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur exercice de C

Désolé pour les balises

    2 janvier 2008 à 21:07:12

    Bonjour, je tente actuellement de résoudre le problème proposé à la fin du cours sur les fonctions, soit le PlusouMoins. Voilà, je suis bloqué lors de la création des fonctions. Je joins le code et les commentaires pour que vous puissiez y voir ma démarche et ainsi me guider.


    1. #include<stdio.h>
    2. #include<stdlib.h>
    3. #include<time.h>
    4. const long genereNombre(const long MIN, MAX)
    5. {
    6. return (rand() % (MAX - MIN + 1)) + MIN;
    7. }
    8. long compareNombre(long nombreEntre, long nombreMystere)
    9. {
    10. return (nombreEntre = nombreMystere); //Est-ce un booléen?
    11. }
    12. int main(int argc, char** argv[])
    13. {
    14. const long MIN=1, MAX=100;
    15. long nombreEntre = 0, nombreMystere = 0;
    16. do
    17. {
    18. genereNombre(MIN, MAX);
    19. printf("Entrez un nombre quelconque compris entre 1 et 100 n");
    20. scanf("%ld",&nombreEntre); /* Me donne une erreur sur
    21. l'utilisation adéquate de scanf*/
    22. if (nombreEntre > nombreMystere)
    23. printf("C'est moins, reessayez ");
    24. scanf("%ld",&nombreEntre);
    25. else if (nombreEntre < nombreMystere)
    26. printf("C'est plus, reessayez ");
    27. scanf("%ld",&nombreEntre);
    28. else
    29. printf("Vous avez trouve le nombre mystere !\n\n");
    30. }while (nombreEntre != nombreMystere)
    31. system("PAUSE");
    32. return 0;
    33. }

    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      2 janvier 2008 à 21:16:57

      Premièrement, as-tu lu parfaitement les conseils de Mateo21?

      Il faut que tu ajoute : srand(time(NULL));
      juste une seule fois (au début de la fonction main par exemple) avant de trouver un nombre aléatoire avec rand()...
      • Partager sur Facebook
      • Partager sur Twitter
        2 janvier 2008 à 21:34:39

        conversion de 'time_t' en 'unsigned int', perte possible de données
        Voilà ce que cela fait une fois que je pose le srand(Time(NULL))
        • Partager sur Facebook
        • Partager sur Twitter
          2 janvier 2008 à 21:44:08

          Il y a quelque chose qui ne marche pas dans ton code.

          As-tu lu le chapitre sur les fonctions étant donné que tu es rendu juste au TP du plus ou moins?

          Tu n'appelle jamais ta fonction qui compare les nombres!

          Si tu n'es pas sur, n'utilise que la fonction main au départ!

          Et je crois que tu n'a pas compris les booléens!

          EDIT : Pour le booléen, il vaudrait mieux faire ceci:
          1. long compareNombre(long nombreEntre, long nombreMystere)
          2. {
          3. int verification = 0 //Booléen
          4. if (nombreEntre == nombreMystere)
          5. {
          6. verification = 1; //ou 0, je ne me rappelle plus si c'est 1 qui est vrai ou si c'est 0
          7. }
          8. else
          9. {
          10. verifiation = 0;
          11. }
          12. return verification;
          13. }
          • Partager sur Facebook
          • Partager sur Twitter

          Question sur exercice de C

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown