IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Pascal Discussion :

Conversions de monnaies


Sujet :

Contribuez Pascal

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut Conversions de monnaies
    Bonjour,
    Je voudrais vous proposer la source de mon programme qui fait des conversions euros >> francs et francs >> euros.
    Voici la source:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Program conversions;
    {------------------------------------------------------------------------}
    Function francsEuros(francs: real): real;
    {Fonction convertissant des francs en euros}
    Begin
        francsEuros:= francs / 6.55957;
    End;
    {------------------------------------------------------------------------}
    Function eurosFrancs(euros: real): real;
    {Fonction convertissant des euros en francs}
    Begin
        eurosFrancs:= euros * 6.55957;
    End;
    {------------------------------------------------------------------------}
    var francs1, euros1, francs2, euros2: real;
    var choix: integer;
    {------------------------------------------------------------------------}
    BEGIN
        writeln('====CONVERSIONS====');
        writeln;
        writeln('Choisissez:');
        writeln('1. Conversions francs >> euros');
        writeln('2. Conversions euros >> francs');
        readln(choix);
        {--------------------------------------------------------------------}
     
     
        IF choix = 1
        Then
        Begin
            writeln('Entrez la somme en francs:');
            readln(francs1);
            euros1:= francsEuros(francs1);
            writeln(francs1:5:5,' francs vallent ',euros1:5:5,' euros.');
        End
        {---------------------------------------------}
        ELSE IF choix = 2
        Then
        Begin
            writeln('Entrez la somme en euros:');
            readln(euros2);
            francs2:= eurosFrancs(euros2);
            writeln(euros2:5:5,' euros vallent ',francs2:5:5,' francs.');
        End
        {---------------------------------------------}
        ELSE
        Begin
            writeln('Vous avez entres un mauvais chiffre, desole...');
        End;
        {----------------------------------------------}
        writeln;
        writeln('Appuyez sur entree pour quitter...');
        readln;
    END.
    Voilà, qu'en pensez-vous?
    Au revoir!
    Fichiers attachés Fichiers attachés

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hai,

    - Les valeurs numériques "magiques" (codées en dur dans le code) devraient être définies comme constantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    const
      facteurEuro = 6.55957;
      choixSortir = 0;
      choixFrancsEuros = 1;
      choixEurosFrancs = 2;
    Il serait pratique de créer une boucle pour pouvoir faire plusieurs conversions sans devoir relancer le programme.

    Le choix devrait être lu dans une procédure, ou plutôt dans une fonction qui renverrait la valeur lue.

    Cela mis à part, c'est bien.
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Bonjour,
    J'ai fait une boucle REPEAT...UNTIL pour éviter de devoir relancer le programme à chaque fois que l'on veut refaire une conversion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    Program conversions;
    {------------------------------------------------------------------------}
    Function francsEuros(francs: real): real;
    {Fonction convertissant des francs en euros}
    Begin
        francsEuros:= francs / 6.55957;
    End;
    {------------------------------------------------------------------------}
    Function eurosFrancs(euros: real): real;
    {Fonction convertissant des euros en francs}
    Begin
        eurosFrancs:= euros * 6.55957;
    End;
    {------------------------------------------------------------------------}
    var francs1, euros1, francs2, euros2: real;
    var choix, choix2 : integer;
    {------------------------------------------------------------------------}
    BEGIN
        writeln('====CONVERSIONS====');
        writeln;
     
        REPEAT
        {--------------------------------------------------------------------}
            writeln('Choisissez:');
            writeln('1. Conversions francs >> euros');
            writeln('2. Conversions euros >> francs');
            readln(choix);
            {--------------------------------------------------------------------}
            IF choix = 1
            Then
            Begin
                writeln('Entrez la somme en francs:');
                readln(francs1);
                euros1:= francsEuros(francs1);
                writeln(francs1:5:5,' francs vallent ',euros1:5:5,' euros.');
            End
            {---------------------------------------------}
            ELSE IF choix = 2
            Then
            Begin
                writeln('Entrez la somme en euros:');
                readln(euros2);
                francs2:= eurosFrancs(euros2);
                writeln(euros2:5:5,' euros vallent ',francs2:5:5,' francs.');
            End
            {---------------------------------------------}
            ELSE
            Begin
                writeln('Vous avez entres un mauvais chirre, desole...');
            End;
            {---------------------------------------------}
            writeln;
            writeln('Voulez-vous continuer?');
            writeln('1. Oui');
            writeln('2. Non');
            readln(choix2);
            {---------------------------------------------}
        UNTIL choix2 = 2;
        {------------------------------------------------------------------}
        IF choix2 = 2
        Then
        Begin
            writeln('Vous avez choisis de partir, au revoir !');
        End;
        {--------------------------------------------------------------------}
        writeln;
        writeln('Appuyez sur entree pour quitter...');
        readln;
    END.
    Le fichier zip à été mis à jour (voir le premier message)!

    Par contre, si je mets les choix en constante, l'utilisateur ne pourra pas le modifier, donc ça ne servirait à rien, non ?

    Merci pour tes commentaires

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Soe,
    Citation Envoyé par lucky84 Voir le message
    Par contre, si je mets les choix en constante, l'utilisateur ne pourra pas le modifier, donc ça ne servirait à rien, non ?

    Merci pour tes commentaires
    Pour utiliser les constantes que j'ai proposées, on fait comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    const
      facteurEuro = 6.55957;
      choixSortir = 0;
      choixFrancsEuros = 1;
      choixEurosFrancs = 2;
    ....
      { une fois le choix entré }
            IF choix = choixFrancsEuros 
            Then
            Begin
                writeln('Entrez la somme en francs:');
                readln(francs1);
                euros1:= francsEuros(francs1);
                writeln(francs1:5:5,' francs vallent ',euros1:5:5,' euros.');
            End
            {---------------------------------------------}
            ELSE IF choix = choixEurosFrancs 
            Then
    D'autre part, cet enchaînement de if serait avantageusement remplacé par un case of.
    Si les cons volaient, il ferait nuit à midi.

Discussions similaires

  1. [WD17] Formule de conversion des differentes monnaies en USD
    Par djenny dans le forum WinDev
    Réponses: 4
    Dernier message: 08/03/2015, 18h05
  2. Conversion de monnaie (Taux de change)
    Par toumack dans le forum Approche théorique du décisionnel
    Réponses: 0
    Dernier message: 02/09/2010, 03h24
  3. conversion monnaie php ou xml
    Par panganino dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/05/2009, 10h03
  4. [Conversions] Millisecondes...
    Par agh dans le forum Langage
    Réponses: 2
    Dernier message: 06/08/2002, 11h25
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo