Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme convertisseur euro- francs...

tout est normale sauf que...

    23 juillet 2006 à 15:30:05

    Bonjour à tous.Avant tout voici mon code:

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

    double conversion(double euros)
    {
        double francs = 0;
       
        francs = 6.55957 * euros;
        return francs;
    }

    double conversion2(double francs2)
    {
            double euro2= 0;
            euro2=6.55957/francs2;
            return euro2;
    }

    int main(int argc, char *argv[])
    { 
            long choix, somme;
            // voici quelques exemples pour présenter le projet
        printf("10 euros = %lfF\n", conversion(10));
        printf("50 euros = %lfF\n", conversion(50));
        printf("100 euros = %lfF\n", conversion(100));
        printf("200 euros = %lfF\n", conversion(200));
            printf("10 francs = %f euro\n", conversion2(10));
            // maintenant le projet en lui même
            printf("***MENU***\n");
            printf("1.convertisseur: euro - francs\n");
            printf("2.convertisseur: francs - euro\n");
            printf("votre choix:\n");
            scanf("%d", &choix);
        // on demande à l'utilisateur de choisir

            switch (choix)
            {
            case (1):
                    printf(" entrez la somme a convertir : \n");
                    scanf("%f", &somme);
            printf(" %f euro = %f francs\n", conversion);
                    break;
            case (2):
                    printf(" entrez la somme a convertir: \n");
                    scanf("%d", &somme);
                    printf(" %d francs = %f euros\n", conversion2);
                    break;
            default:
           printf("a cause d'une erreure le programme doit stopper\n");
            break;
            }
       
        system("PAUSE");   
        return 0;
    }

    Alors voila mon probleme est le suivant, je voulais faire un convertisseur euro-francs et francs - euro comme il en existe tant pour mettre en application mes connaissances aquises grace aux cours de mateo.Seulement lorsqu'on lance ce programme que ce soit euro francs ou francs euro lorsqu'on ont entre une somme la conversion s'effectue mal. par exemple que ce soit 5 ou 6 .... euros donnent cela donnent toujours
    10 euros = 65.595700F
    50 euros = 327.978500F
    100 euros = 655.957000F
    200 euros = 1311.914000F
    10 francs = 0.655957 euro
    ***MENU***
    1.convertisseur: euro - francs
    2.convertisseur: francs - euro
    votre choix:
    1
    entrez la somme a convertir :
    8
    0.000000 euro = 1.#QNAN0 francs
    Appuyez sur une touche pour continuer...


    ou alors dans l'autre cas:
    10 euros = 65.595700F
    50 euros = 327.978500F
    100 euros = 655.957000F
    200 euros = 1311.914000F
    10 francs = 0.655957 euro
    ***MENU***
    1.convertisseur: euro - francs
    2.convertisseur: francs - euro
    votre choix:
    2
    entrez la somme a convertir:
    9
    4264146 francs = 0.000000 euros
    Appuyez sur une touche pour continuer...




    d'ou vient le probleme? merci d'avance de bien vouloir m'aider.
    • Partager sur Facebook
    • Partager sur Twitter
      23 juillet 2006 à 15:41:46

      Déjà, t'as oublié de metrree une valeur ds les fonctions que tu appeles:

      printf(" %d francs = %f euros\n", conversion2);
      code>

      Il faut mettre

      <code type="c">printf(" %d francs = %f euros\n", conversion2(somme));



      normalement, ça devrait marcher, au moin un peu mieux.


      @+ :soleil:
      • Partager sur Facebook
      • Partager sur Twitter
        23 juillet 2006 à 15:47:03

        Salut!

        Tu t'es trompé dans la conversion :

        double conversion2(double francs2)
        {
                double euro2= 0;
                euro2=6.55957/francs2; //ici, faudrait mettre : euro2=francs2/6.55957
                return euro2;
        }


        Et je rajouterais un truc à ce qu'a dit lord anubis :

        Il manque la valeur de somme 2 fois dans tes printf :

        printf(" %f euro = %f francs\n", somme, conversion(somme));
                                         //ici            et ici(déjà dit)


        Aussi, il faut faire attention aux types des variables :
        - je te conseil d'utiliser le type "int" pour la variable "choix"
        (Il n'y a que 2 possiblités donc ça ne sert à rien de mettre un long)
        - et pour la variable "somme", je mettrais un type "double" (tu l'as choisi dans les fonctions)

        Avec ces changement, il faut penser à changer les formats d'affichage dans tous les "scanf" et les "printf" : il faut mettre pour toutes les variables : "%lf"

        Ouf :) ça devrait fonctionner correctement maintenant :)
        • Partager sur Facebook
        • Partager sur Twitter

        probleme convertisseur euro- francs...

        × 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