Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur exercice de C

    2 janvier 2008 à 20:16:09

    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.




    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>

    const long genereNombre(const long MIN, MAX)
    {
    return (rand() % (MAX - MIN + 1)) + MIN;
    }
    long compareNombre(long nombreEntre, long nombreMystere)
    {
    return (nombreEntre = nombreMystere); //Est-ce un booléen?
    }

    int main(int argc, char** argv[])
    {
    const long MIN=1, MAX=100;
    long nombreEntre = 0, nombreMystere = 0;

    do
    {
    genereNombre(MIN, MAX);
    printf("Entrez un nombre quelconque compris entre 1 et 100 n");
    scanf("%ld",&nombreEntre); /* Me donne une erreur sur
    l'utilisation adéquate de scanf*/

    if (nombreEntre > nombreMystere)

    printf("C'est moins, reessayez ");
    scanf("%ld",&nombreEntre);

    else if (nombreEntre < nombreMystere)

    printf("C'est plus, reessayez ");
    scanf("%ld",&nombreEntre);

    else

    printf("Vous avez trouve le nombre mystere !\n\n");


    }while (nombreEntre != nombreMystere)

    system("PAUSE");
    return 0;
    }
    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      2 janvier 2008 à 20:20:56

      Met des balises pour ton code, cela va nous aider a pouvoir le lire!

      Sinon cherche le sujet : Aide Plus ou moins pas à pas (qui est souvent très utile!)
      Voila le lien : ici!
      • Partager sur Facebook
      • Partager sur Twitter
        2 janvier 2008 à 20:22:50

        Salut karliganos, pourrais tu utiliser les balise code STP car le code est illisible. regle du forum

        :magicien:
        • Partager sur Facebook
        • Partager sur Twitter
          2 janvier 2008 à 20:59:56

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

          Il faut que tu ajoute : srand(time(NULL));
          juste une fois avant de trouver un nombre aléatoire avec rand()...

          EDIT : merci -ed- de préciser car ceci est très important
          • Partager sur Facebook
          • Partager sur Twitter
            2 janvier 2008 à 21:04:22

            Citation : marc3757

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

            Il faut que tu ajoute : srand(time(NULL));
            juste avant de trouver un nombre aléatoire avec rand()...


            Comment ça 'juste avant' ? Tu n'es pas en train de dire qu'il faut appeler srand() à chaque fois qu'un appelle rand() ?

            Un simple 'une fois avant' m'aurait rassuré...

            http://mapage.noos.fr/emdel/notes.htm#rand


            • Partager sur Facebook
            • Partager sur Twitter
            Music only !
              2 janvier 2008 à 21:24:13

              Voilà ton code est maintenant un peu plus lisible :p
              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. }

              • Partager sur Facebook
              • Partager sur Twitter
                2 janvier 2008 à 21:27:01

                bof, avec cette indentation ...

                revoit le chapitre sur les fonctions.
                • Partager sur Facebook
                • Partager sur Twitter
                  2 janvier 2008 à 21:35:26

                  A la ligne 22 tu écris:
                  printf("Entrez un nombre quelconque compris entre 1 et 100 n");
                  alors que ce serai plutôt:
                  printf("Entrez un nombre quelconque compris entre 1 et 100 \n");
                  (il y a un backslash avant le n). A mon avis l'ordinateur ne comprend pas très bien cette ligne à cause de ce "n".
                  Autre chose, n'oublie pas (c juste un conseil hein ^^ ) de mettre des accolades dans tes conditions!!!
                  • 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