Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme : scanf

    12 janvier 2006 à 6:43:20

    Bonjour, alors voila deja je me pésente je suis nouveau sur le site ...
    et j'ai telechargé DEV C++ alors je suis le cour tout marche bien mais au moment ou on explique scanft j'essaie de faire de mëme mais il m'affiche une erreur (j'ai fais un copier coller de l'exemple mais sa n'a toujours pas marché :( )

    alors ben voila désolé de vous soumettre a une question peut etre bete :o

    a bientot
    • Partager sur Facebook
    • Partager sur Twitter
      12 janvier 2006 à 11:02:43

      Copie l'erreur que ça te marque et le code source que tu mets.
      • Partager sur Facebook
      • Partager sur Twitter
        12 janvier 2006 à 12:09:08

        Salut,
        Pour te répondre faudrais ton erreur... ;)
        • Partager sur Facebook
        • Partager sur Twitter
          12 janvier 2006 à 16:32:44

          juste comme ca
          -tu as bien mit les guillemets entre %ld
          -ensuite tu met une virgule
          -et le signe <strong>&</strong> mdr je l oublie tous le temps celui la lool
          -enfin tu as bien mit le point virgule?
          -sinon verifie %ld n est pas pour les chiffres a virgule si tu as mit une variable double met %lf

          <strong>sinon je vois pas pliedr</strong>
          si c est toujours pas ca relie le tutorial
          • Partager sur Facebook
          • Partager sur Twitter
            12 janvier 2006 à 18:18:09

            a oups désolé
            j'avais oublié ce petit detail

            Citation : Code : C

            int main(int argc, char *argv[])
            {
            printf("Quel age avez-vous ? ");
            scanf("%lf", &nombreDecimal);
            nombreDecimal
            printf("Ah ! Vous avez donc %ld ans !\n\n", age);
            system("PAUSE");
            return 0;
            }



            et voici l'erreur

            Citation : Code : C

            scanf("%lf", &nombreDecimal); (ligne éronée)

            C:\Documents and Settings\Propriétaire\Mes documents\DEV\main.c In function `main': 7

            C:\Documents and Settings\Propriétaire\Mes documents\DEV\main.c `nombreDecimal' undeclared (first use in this function)
            (Each undeclared identifier is reported only once
            for each function it appears in.)

            • Partager sur Facebook
            • Partager sur Twitter
              12 janvier 2006 à 18:23:33

              tu as bien déclaré ta variable avant le scanf de type double ? :p
              • Partager sur Facebook
              • Partager sur Twitter
                12 janvier 2006 à 22:29:12

                Dans ton code tu utilises Deux variables, non déclarées, alors que tu ne dois n'en utilisez qu'une puisque tu demandes un chiffre et que tu répète ce même chiffre ! :) Donc voilà ton code, modifié, qui fonctionne :)

                int main(int argc, char *argv[])
                {
                    double age; // Declaration de la variable age
                 
                  printf("Quel age avez-vous ? ");
                  scanf("%ld", &age); // Recuperation de l'âge
                 
                  printf("Ah ! Vous avez donc %ld ans !\n\n", age); // Affichage de l'age

                  system("PAUSE");
                  return 0;
                }
                • Partager sur Facebook
                • Partager sur Twitter
                  12 janvier 2006 à 22:32:14

                  Hé oui, le C ne connait pas l'allocation dynamique ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 janvier 2006 à 22:44:57

                    Euh bien sûr que si, avec malloc et free entre autres... mais je ne vois pas trop le rapport entre le sujet et l'allocation dynamique :/

                    Sinon pour le code de Black_Hack_White, il ne faut pas utiliser %s mais %ld... puisque c'est un double.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      12 janvier 2006 à 22:46:20

                      Citation : V1944

                      Hé oui, le C ne connait pas l'allocation dynamique ^^

                      Gloups j'ai failli m'étouffer en lisant ça :D

                      Quel rapport avec la nom déclaration de variables (au passages, pour Black_Hack_White tu as mis %s alors que pour un double c'est %lf) ? Dans l'allocation dynamique il faut créer un pointeur quand même. Et le C supporte l'allocation dynamique, oui oui, malloc et tout...

                      A moins que tu ne confondes ça avec la création de variables automatique, comme dans certains langages de (trop) haut niveau genre PHP ou Basic ou tu crées une variables dès que tu l'utilies.

                      edit : Ah non Elentar... %ld pour les long (oui, d, double... mais non) et %lf pour un long.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 janvier 2006 à 22:50:17

                        autant pour moi désolé (mais sa fonctionne aussi :p )

                        Code edité
                        • Partager sur Facebook
                        • Partager sur Twitter
                          12 janvier 2006 à 22:59:25

                          Citation : louisclem

                          A moins que tu ne confondes ça avec la création de variables automatique, comme dans certains langages de (trop) haut niveau genre PHP ou Basic ou tu crées une variables dès que tu l'utilies.

                          Exactement >_>
                          • Partager sur Facebook
                          • Partager sur Twitter
                            13 janvier 2006 à 12:43:46

                            Citation : louisclem

                            edit : Ah non Elentar... %ld pour les long (oui, d, double... mais non) et %lf pour un long.

                            mea culpa, j'ai confondu long int et double :D
                            En fait, c'est surtout que stocker un âge dans un type décimal n'est pas ce qu'il y a de plus logique...
                            • Partager sur Facebook
                            • Partager sur Twitter

                            probleme : scanf

                            × 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