Partage
  • Partager sur Facebook
  • Partager sur Twitter

probléme chiffre a virgule

Sujet résolu
    2 décembre 2005 à 22:19:46

    voila j'ai cree un petit programme que voici

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

    int main(void)
    {
    int age;
    int fes;
    float moy;

    printf("Quel age avez-vous ? ");
    scanf("%d", &age);
    printf("\n");
    printf("Ah ! Vous avez donc %d ans !\n",age);
    system("PAUSE");
    printf("\n");
    printf("Mais au fait Vous avez combien de freres et soeurs?");
    scanf("%d", &fes);
    printf("donc vous avez %d freres et soeurs!",fes);
    printf("\n");
    printf("\n");
    system("pause");
    printf("\n");
    printf(" Chui indiscret(en meme temps vous aussi vous venez fouinner dans mon programme)");
    printf ("Mais vous avez combien de moyenne generale?");
    scanf ("%d" , &moy);
    printf("\n");
    printf("Ahh! donc vous avez %f de moyenne (ridicule!)",moy);
    system("pause");

    return 0;
    }



    mais quand je le test et que je rentre ma moyenne et que je la fiche ca maffiche 0.00000.. et pas le nombre entré


    pouvez vous m'aider?



    PS: vous allez me dire ya deja quelqu'un qui a eu ce probleme mais j'ai esayé vos solutions et ca me renvoi toujours 0.0000 meme en restreignant le nombre de virgule ca renvoit toujours 0.00
    • Partager sur Facebook
    • Partager sur Twitter
      2 décembre 2005 à 22:32:15

      Bonjour !

      tu as fait une toute petite erreur à cette ligne :
      scanf ("%d" , &moy);
      %d signifie que tu vas mettre un entier dans la variable moyenne, hors ici tu veux y mettre un flottant. La bonne solution est donc :
      scanf ("%f" , &moy);

      Sinon Je ne vois pas l'utilité de tout ces system("pause").

      Un dernier petit truc :
      printf(" Chui indiscret(en meme temps vous aussi vous venez fouinner dans mon programme)");
      printf ("Mais vous avez combien de moyenne generale?");

      Je te conseille de remplacer ces 2 lignes par :
      printf(" Chui indiscret(en meme temps vous aussi vous venez fouinner dans mon programme)\n
      Mais vous avez combien de moyenne generale?");

      L'économie d'instructions fait partie de la philosophie de rapidité du C :)
      • Partager sur Facebook
      • Partager sur Twitter
        2 décembre 2005 à 22:36:19

        Bon tout d'abord, ton code est "sale". Pas la peine de créer un print si c'est juste pour faire un \n. Ensuite, tu dis que la variable moy est de type float, donc décimale, ici pas de problèmes. Mais lorsque tu demande d'entrer la valeur de moy, tu utilises %d qui a pour conséquence de ne prendre que la valeur entière du nombre tapé, et c'est de là que viens l'érreur. Bon ensuite pour éviter les inombrables 0000 sur moy, utilise %.2f pour la limiter à 2 chiffres après la virgule.

        Donc ton code pourrais donner :


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

        int main(int argc, char *argv[])
        {
          int age;
          int fes;
          float moy;

          printf("Quel age avez-vous ? ");
          scanf("%d", &age);
          printf("\nAh ! Vous avez donc %d ans !\n",age);
          system("PAUSE");
          printf("\nMais au fait Vous avez combien de freres et soeurs?");
          scanf("%d", &fes);
          printf("donc vous avez %d freres et soeurs!\n\n",fes);
          system("pause");
          printf("\nChui indiscret(en meme temps vous aussi vous venez fouinner dans mon programme)");
          printf ("Mais vous avez combien de moyenne generale?");
          scanf ("%f" , &moy);
          printf("\nAhh! donc vous avez %.2f de moyenne (ridicule!)\n",moy)
          system("PAUSE");     
          return 0;
        }


        [EDIT] Grillé :o
        • Partager sur Facebook
        • Partager sur Twitter
          2 décembre 2005 à 22:37:43

          miric beaucoup c'est sympa de m'avoir aidé

          et pour ta question c'est car j'aime bien faire des pauses dans la programme
          et ca fait des pauses de lecture pour els petits lecteur :p

          je vais tenter de rendre mon code propre mais sa va etre dur.... apres tout chui bordelique le code s'en ressent :p
          • Partager sur Facebook
          • Partager sur Twitter

          probléme chiffre a virgule

          × 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