Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec un convertisseur

Sujet résolu
    9 juillet 2006 à 15:39:25

    Salut, alors je suis sur le chapitre des fonctions, et j'ai un problème avec l'exemple du convertisseur, celui qui est donné en exmple marche très bien, mais le mien non :( . J'ai voulu faire en sorte que l'utilisateur puisse entrer le montant qu'il veut et choisir le sens de converssion. Exemple : en choisissant euros vers francs, je choisi un montant de 10, et le résultat est de 0.0000 alors que ca devrait être 65.5957...

    Je vais donc mettre tout mon code. Merci d'avance pour votre aide ;)


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

    double eurofranc(double euros)
    {
           double francs = 0;
           
           francs = 6.55957 * euros;
           return francs;
    }
    double franceuro(double francs)
    {
           double euros = 0;
           
           euros = francs / 6.55957;
           return euros;
    }

    int main(int argc, char *argv[])
    {
     
      char choix = 0;
      double montant = 0;
      double resultat = 0;
       
      printf("Bonjour et bienvenue sur le convertisseur Euro/Francs de L-J-D\n\n");
      printf("Quel genre de converssion souhaitez vous faire ?\n");
      printf("Tapez 1 pour Euros >>> Francs et 2 pour Francs >>> Euros : ");
      scanf("%ld", &choix);
      printf("\n");
      if (choix == 1)
      {
           printf("Entrez le montant en Euros : ");
           scanf("%ld", &montant);
           resultat = eurofranc(montant);
           printf("\n%ld Euros vaut %lf Francs\n", montant, resultat);
      }
      else if (choix == 2)
      {
           printf("Entrez le montant en Francs : ");
           scanf("%ld", &montant);
           resultat = franceuro(montant);
           printf("\n%ld Francs vaut %lf Euros\n", montant, resultat);
      }
      else
      {
          printf("Votre saisie ne correspond pas a ceux proposer !\n");
      }
     
      system("PAUSE");     
      return 0;
    }

    • Partager sur Facebook
    • Partager sur Twitter
      9 juillet 2006 à 17:01:29

      Euh tu a des petits problèmes avec les types : fais attention à ne pas confondre les entiers et les flottants : montant est un flottant, tu fois donc mettre %lf, et non %ld.

      Essaye ça je vois pas d'autres erreurs.
      • Partager sur Facebook
      • Partager sur Twitter
        9 juillet 2006 à 18:15:04

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

        double eurofranc(double euros)
        {
               double francs = 0;
               
               francs = 6.55957 * euros;
               return francs;
        }
        double franceuro(double francs)
        {
               double euros = 0;
               
               euros = francs / 6.55957;
               return euros;
        }

        int main(int argc, char *argv[])
        {
            char choix = 0;
            double montant = 0.0/* 0 est un int, 0.0 un double */
            double resultat = 0.0;

            printf("Bonjour et bienvenue sur le convertisseur Euro/Francs de L-J-D\n\n");
            printf("Quel genre de conversion souhaitez-vous faire ?\n");
            printf("Tapez 1 pour Euros >>> Francs et 2 pour Francs >>> Euros : ");
            scanf("%c", &choix); /* %c pour char */
            printf("\n");

            if (choix == '1') /* caractère... */
            {
                printf("Entrez le montant en Euros : ");
                scanf("%lf", &montant);    /* double = long float = %lf */
                resultat = eurofranc(montant);
                printf("\n%lf Euros valent %lf Francs\n", montant, resultat);
            }
            else if (choix == '2')
            {
                printf("Entrez le montant en Francs : ");
                scanf("%lf", &montant);
                resultat = franceuro(montant);
                printf("\n%lf Francs valent %lf Euros\n", montant, resultat);
            }
            else
            {
                printf("Votre saisie ne correspond pas a celles proposees !\n");
            }
         
          /*system("PAUSE");      non portable */
            getchar();
            return 0;
        }
        • Partager sur Facebook
        • Partager sur Twitter
          9 juillet 2006 à 18:47:51

          Ok, merci beaucoup, mon problème est réglé, l'erreur était bien %ld au lieu de %lf. Merci aussi a remram4 d'avoir corrigé directement pour moi ^^

          @Bientôt ;)
          • Partager sur Facebook
          • Partager sur Twitter

          Problème avec un convertisseur

          × 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