Coucou!
 
 un "friend of mine" avait besoin d'un petit outil pour faire des conversions monnaies 
zone euro -> euro et euro -> monnaies zone euro plus livre sterling, $ US et $ 
Canadien vers euro et inversemment. j'ai donc commis ce qui suit. ce script utilise bc 
qui est un langage  arithm�tique permettant l'inclusion de calculs en virgule 
flottante dans des shells scripts. si �a peut aussi int�resser quelqu'un....
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/bash
#euro
#euro convertisseur
 
 
if [ -f $HOME/.eurorc ]
        then
                source $HOME/.eurorc
fi
 
cmd1 ()
{
calcul=$(echo "scale=6; ( $MI*$E )" | bc)
echo $calcul $C
}
 
cmd2 ()
{
calcul=$(echo "scale=6; ( $MI/$E )" | bc)
echo $calcul $C
}
 
cmd3 ()
{
echo -n " donner la valeur actuelle de $C pour $PAYS. 1 EUR="
read E
E=$(echo $E | awk '{ print $1}')
}
 
while true
do
 
commande=1
echo -n \> 
read line
 
PAYS=$( echo $line | awk '{ print $1}')
MONNAIE=$( echo $line | awk '{ print $3}')
MI=$( echo $line | awk '{ print $2}')
 
case $PAYS in
        be)
                E=40.3399
                C=FRB
                ;;
        de)
                E=1.95583
                C=DEM
                ;;
        gr)
                E=340.750
                C=GRD
                ;;
        es)
                E=166.386
                C=ESP
                ;;
        fr)
                E=6.55957
                C=FRF
                ;;
        ir)
                E=0.787564
                C=IEP
                ;;
        it)
                E=1936.27
                C=ITL
                ;;
        lu)
                E=40.3399
                C=LUF
                ;;
        nl)
                E=2.20371
                C=NLG
                ;;
        au)
                E=13.7603
                C=ATS
                ;;
        pt)
                E=200.482
                C=PTE
                ;;
        fi)
                E=5.94573
                C=FIM
                ;;
        gb|us|ca)
                case $PAYS in
                        gb)
                                C=LSG
                                if ! [ "$GB" ]
                                        then
                                                cmd3
                                                GB=$E
                                fi
                                E=$GB
                                ;;
                        us)
                                C=USD
                                if ! [ "$US" ]
                                        then
                                                cmd3
                                                US=$E
                                fi
                                E=$US
                                ;;
                        ca)
                                C=CAD
                                if ! [ "$CA" ]
                                        then
                                                cmd3
                                                CA=$E
                                fi
                                E=$CA
                                ;;
                esac            
                ;;
        help)
                echo -e "\t"pays: "\t\t"code pays: "\t"code monnaie:                   
 echo -e "\t"~~~~~ "\t\t"~~~~~~~~~~ "\t"~~~~~~~~~~~~~
                echo
                echo -e "\t"Belgique "\t"be "\t\t"FRB
                echo -e "\t"Allemagne "\t"de "\t\t"DEM
                echo -e "\t"Gr�ce "\t\t"gr "\t\t"GRD
                echo -e "\t"Espagne "\t"es "\t\t"ESP
                echo -e "\t"France "\t\t"fr "\t\t"FRF
                echo -e "\t"Irlande "\t"ir "\t\t"IEP
                echo -e "\t"Italie "\t\t"it "\t\t"ITL
                echo -e "\t"Luxembourg "\t"lu "\t\t"LUF
                echo -e "\t"Pays-Bas "\t"nl "\t\t"NLG
                echo -e "\t"Autriche "\t"au "\t\t"ATS
                echo -e "\t"Portugal "\t"pt "\t\t"PTE
                echo -e "\t"Finlande "\t"fi "\t\t"FIM
                echo -e "\t"Etats-unis "\t"us "\t\t"USD
                echo -e "\t"Royaume Uni "\t"gb "\t\t"LSG
                echo -e "\t"Canada "\t\t"ca "\t\t"CAD
                echo 
                echo " usage: <code pays> <montant> <code monnaie>"
                echo " pour une conversion  d'une somme en Euro dans la monnaie"
                echo " du pays, le code monnaie est EUR"
                echo " exemples:"
                echo "   convertir 898.25 Francs Fran�ais en Euro"
                echo "     >fr 898.25 FRF"
                echo "     136.937329 EUR"
                echo "   convertir 932.58 Euro en Lires Italiennes"
                echo "     >it 932.58 EUR"
                echo "     1805726.6766 ITL"
                echo
                MONNAIE=false
                ;;
        exit)
                break
                ;;
        *)
                MONNAIE=false
                echo " Tapez help pour l'aide"
                ;;
esac
 
case $MONNAIE in
        $C)
                CMD=cmd2
                C=EUR
                ;;
        EUR)
                CMD=cmd1
                ;;
        false)
                commande=0
                ;;
        *)
                echo " monnaie (3�me champ) non ou mal indiqu�e! tapez help pour 
l'aide"
                commande=0
                ;;
esac
 
case $commande in
        1)
                $CMD 2>/dev/null
                ;;
esac 
 
done 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bye
jipe

PS: le fichier $HOME/.eurorc sert � fixer un cours approximatif moyen aux monnaies 
dollars et livre sterling au cas o� on n'ait pas besoin d'un cours au jour le jour. on 
l'�dite � la main... le 10/05 il pouvait ressembler �:

CA=1.423900
US=0.913987
GB=0.624298

re bye
re jipe!

Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à