Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bibliothèque en Language c

    13 septembre 2021 à 17:05:37

    Bonjour,

    je suis le cours pour apprendre la langage c depuis environ 1 semaine et j'en suis au premier tp et je rencontre un problème.

    le problème est qu'il faut ajouter une bibliothèque au code source ( time.h < la bibliothèque en question) et quand je l'ajoute les fonctions ( srand, rand, etc...) ne fonctionnent toujours pas.

    J'aimerais savoir si vous avez une solution merci d'avance.

    à noter que je suis sur windows et que j'utilise Code::Blocks.

    • Partager sur Facebook
    • Partager sur Twitter
      13 septembre 2021 à 17:07:20

      SergioSpinolaBerenguer a écrit:

      le problème est qu'il faut ajouter une bibliothèque au code source ( time.h < la bibliothèque en question) et quand je l'ajoute les fonctions ( srand, rand, etc...) ne fonctionnent toujours pas.

      Code et messages d'erreurs ?

      rand et srand c'est la libstdlib.h

      -
      Edité par rouIoude 13 septembre 2021 à 17:09:12

      • Partager sur Facebook
      • Partager sur Twitter
        13 septembre 2021 à 17:43:38

        Non aucun code d'erreur juste les fonctions ne fonctionnent pas comme si la bibliothèque n'ajoutait rien.


        -
        Edité par SergioSpinolaBerenguer 13 septembre 2021 à 18:20:47

        • Partager sur Facebook
        • Partager sur Twitter
          13 septembre 2021 à 17:52:51

          Hello,

          Ça veut dire quoi "les fonctions ne fonctionnent pas" ? Symptômes stp, et poste ton code.

          -
          Edité par edgarjacobs 13 septembre 2021 à 17:53:30

          • Partager sur Facebook
          • Partager sur Twitter

          Il y a ceux qui font des sauvegardes, et ceux qui n'ont pas encore eu d'incident....

            13 septembre 2021 à 17:56:20

            SergioSpinolaBerenguer a écrit:

            Non aucun code d'erreur juste les fonctions ne fonctionnent pas comme si la bibliothèque n'ajoutait rien.

            Des fonctions qui ne fonctionnent pas ? Et comment sais-tu qu'elle ne fonctionne pas ?

            Ça ne serait pas plutôt une erreur dans ton code ?

            • Partager sur Facebook
            • Partager sur Twitter
              13 septembre 2021 à 18:06:49

              voici mon code exact et pour etre un peu plus clair c'est que par exemple quand je tape un int pour nommer ma fonction et bien int devient bleu mais srand et rand reste de la meme couleur que si j'écrivais maison ou n'importe quel autre mot qui n'a rien a voir avec du code.
              Excusez moi je debute et je sais que ce n'est pas très clair.
              #include <stdio.h>
              #include <stdlib.h>
              #include <time.h>
              int main ( int argc, char** argv)
              {
                  int nombreEntre=0, nombreMystere=0;
                  const int MAX = 100, MIN = 1;
                  srand(time(NULL));
                  nombreMystere = (rand()% ( MAX - MIN+ 1))+ MIN;
                  printf("Devinez quel est le bon chiffre!");
                  scanf("%d",&nombreEntre);
              do
              {
                  if (nombreEntre > nombreMystere)
                      printf("C'est moins!");
                  else if (nombreEntre< nombreMystere)
                      printf("C'est plus!");
                  else
                      printf("C'est Juste");
              }while(nombreEntre != nombreMystere);
                  return 0;
              }

              -
              Edité par Benzouye 13 septembre 2021 à 18:12:45

              • Partager sur Facebook
              • Partager sur Twitter
                13 septembre 2021 à 18:20:08

                Bon, je te rassure rand et srand fonctionne correctement.

                C'est juste qu'après avoir saisie ton essais tu rentre dans une boucle sans fin !

                Pour que ça fonctionne correctement, tu dois faire la saisie de tes essais dans la boucle.

                • Partager sur Facebook
                • Partager sur Twitter
                  13 septembre 2021 à 18:20:29

                  En fait tu n'as pas exécuté ton code?
                  Tu parles de couleur. C'est un problème de Code::Blocks, pas de ton programme ni du compilateur.
                  Essaies d'exécuter, tu verras ce que ça donne.

                  Oups RouIoude m'a doublé ...

                  -
                  Edité par PierrotLeFou 13 septembre 2021 à 18:24:55

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Le Tout est souvent plus grand que la somme de ses parties.

                    13 septembre 2021 à 18:26:04

                    rouIoude a écrit:

                    Bon, je te rassure rand et srand fonctionne correctement.

                    C'est juste qu'après avoir saisie ton essais tu rentre dans une boucle sans fin !

                    Pour que ça fonctionne correctement, tu dois faire la saisie de tes essais dans la boucle.

                    Ah d'accord merci beaucoup! jetais perturbé par le fais que rand et srand ne changeais pas de couleur comme int par exemple et du coup je me suis dit que pour ajouter une bibliothèque il fallais faire une autre manipulation ^^

                    En tous cas merci à tous pour votre aide!!



                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 septembre 2021 à 23:38:05

                      SergioSpinolaBerenguer a écrit:

                      Bonjour,

                      je suis le cours pour apprendre la langage c depuis environ 1 semaine et j'en suis au premier tp et je rencontre un problème.

                      le problème est qu'il faut ajouter une bibliothèque au code source ( time.h < la bibliothèque en question) et quand je l'ajoute les fonctions ( srand, rand, etc...) ne fonctionnent toujours pas.

                      Hum, time.h n'est pas une bibliothèque, mais un entête standard (standard header).
                      Et dans ton code, tu dois ajouter une directive d'inclusion (include directive) de cet entête.
                      Et tout cela pour que l'unité de compilation constituée par ton code contienne les déclarations des fonctions standards que tu veux appeler.
                      Enfin, le code exécutable de ces fonctions standard réside dans une bibliothèque (la bibliothèque standard en l'occurrence).

                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 septembre 2021 à 2:15:32

                        srand() et rand() sont des fonctions, pas des mots clés du langage. C'est pour ça qu'ils ne sont pas colorés de la même façon.
                        Je pourrais très bien m'écrire des fonctions srand() et rand() qui feraient autre chose.
                        Comment le compilateur pourrait savoir si ce sont les fonctions du système ou les miennes?
                        Je pourrais compiler séparément ces fonctions et le main()
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Le Tout est souvent plus grand que la somme de ses parties.

                        Bibliothèque en Language c

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        • Editeur
                        • Markdown