Partage
  • Partager sur Facebook
  • Partager sur Twitter

Calculatrice

bug de scanf

    11 décembre 2005 à 10:20:31

    long nbr1 = 0, nbr2 = 0, nbrfin = 0;
    printf(" mini calculatrice : \n ");
    printf (" rentre le premier chiffre :");
    scanf (" %ld ", &nbr1);




    nbrfin = nbr1 +nbr2;

    printf (" Voici le resultat de %ld + %ld : %ld \n\n", nbr1, nbr2, nbrfin);

    Bonjour,

    Bon le problème c'est que j'ai qu'un seul scanf, et que pourtant quand je rentre le premier chiffre il me demande un deuxième et c'est qu'après qu'il me dit le résultat.
    • Partager sur Facebook
    • Partager sur Twitter
      11 décembre 2005 à 10:29:42

      Tu pourrais mettre ton code en entier, entouré des balises zcode qui vont bien ?

      Tu devrais mettre des noms plus clairs à tes variables : nombre1 et nombre2 ca coute pas plus cher (à part en huile de poignet) et ca se lit mieux.
      • Partager sur Facebook
      • Partager sur Twitter
        11 décembre 2005 à 10:40:23

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

        int main(int argc, char *argv[])
        {

        long nombre_1 = 0, nombre_2 = 0, nombre_fin = 0;
        printf(" mini calculatrice : \n ");
        printf (" rentre le premier chiffre :");
        scanf (" %ld ", &nombre_1);




        nombre_fin = nombre_1 + nombre_2;

        printf (" Voici le resultat de %ld + %ld : %ld \n\n", nombre_1, nombre_2, nombre_fin);



        system("PAUSE");
        return 0;
        }


        dsl mais j'avais pris l'habitude de codé nombre en "nbr". ^^
        Donc voilà il me demande toujours un deuxième chiffre alors que moi je ne lui en demande pas.
        • Partager sur Facebook
        • Partager sur Twitter
          11 décembre 2005 à 11:18:50

          Il faut 2 scanf sinon le nombre 2 vaut 0 et donc le résultat est faux..

          Ton programme ne demande qu'une valeur à l'utilisateur donc c'est normal que ton programme affiche le résultat à la fin vu que les 3 variables ont une valeur même si tu n'as qu'un scanf.. Je sais pas si je suis assez claire ^^

          Je me suis permis de faire quelques modifications, ça marche..

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

          int main(int argc, char *argv[])
          {
            long nombre_1 = 0, nombre_2 = 0, nombre_fin = 0;
            printf("Mini calculatrice : \n");

            printf(" Rentre le premier nombre : ");
            scanf("%ld", &nombre_1);

            printf(" Rentre le deuxieme nombre : ");
            scanf("%ld", &nombre_2);

            nombre_fin = nombre_1 + nombre_2;
            printf (" Voici le resultat de %ld + %ld : %ld \n\n", nombre_1, nombre_2, nombre_fin);


            system("PAUSE");
            return 0;
          }


          Voila :)
          • Partager sur Facebook
          • Partager sur Twitter

          Calculatrice

          × 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