saluut
j'ai essayé d'ecrire un script shell qui convertis des nombre en lettre par ex :
1 donne "un"
2 donne "deux"
...................
................
jusqu'a mille
malheuresement aprés l'exécution le programme ne donne rienCode:#!/bin/sh echo "donnez un nombre inferieur a 1000" read r centaine='expr $r\/100' dizaine='expr \( $r - $centaine\*100\)\/10' unite='expr\( $r - $centaine\*100\)-\($dizaine\*10\)' case $centaine in 0)break;; 1)echo "cent"; break;; 2)if [\($dizaine -eq 0\) -a \($unite -eq 0\)] then echo "deux cents" else echo"deux cent" fi; break;; 3)if [\($dizaine -eq 0\) -a \($unite -eq 0\)] then echo "trois cents" else echo"trois cent" fi; break;; 4)if [\($dizaine -eq 0\) -a \($unite -eq 0\)] then echo "quatre cents" else echo"quatre cent" fi; break;; 5)if [\($dizaine -eq 0\) -a \($unite -eq 0\)] then echo "cinq cents" else echo"cinq cent" fi; break;; 6)if [\($dizaine -eq 0\) -a \($unite -eq 0\)] then echo "six cents" else echo"six cent" fi; break;; 7)if [\($dizaine -eq 0\) -a \($unite -eq 0\)] then echo "sept cents" else echo"sept cent" fi; break;; 8)if [\($dizaine -eq 0\) -a \($unite -eq 0\)] then echo "huit cents" else echo"huit cent" fi; break;; 9)if [\($dizaine -eq 0\) -a \($unite -eq 0\)] then echo "neuf cents" else echo"neuf cent" fi;; esac case $dizaine in 0)break;; 1)break;; 2)echo"vingt"; break;; 3)echo"trente"; break;; 4)echo"quarante" break;; 5)echo"cinquante"; break;; 6)echo"soixante"; break;; 7)echo"soixante"; break;; 8)eho"quatre-vingt"; break;; 9)echo"quatre vingt";; esac case $unite in 1)if [ \( $dizaine -eq 0 \) -o \( $dizaine -eq 7 \) -o \( $dizaine -o 9 \) ] then echo"onze" else echo"un" fi; break;; 2)if [ \( $dizaine -eq 0 \) -o \( $dizaine -eq 7 \) -o \( $dizaine -o 9 \) ] then echo"douze" else echo"deux" fi; break;; 3)if [ \( $dizaine -eq 0 \) -o \( $dizaine -eq 7 \) -o \( $dizaine -o 9 \) ] then echo"treize" else echo"trois" fi; break;; 4)if [ \( $dizaine -eq 0 \) -o \( $dizaine -eq 7 \) -o \( $dizaine -o 9 \) ] then echo"quatorze" else echo"quatre" fi; break;; 5)if [ \( $dizaine -eq 0 \) -o \( $dizaine -eq 7 \) -o \( $dizaine -o 9 \) ] then echo"quinze" else echo"cinq" fi; break;; 6)if [ \( $dizaine -eq 0 \) -o \( $dizaine -eq 7 \) -o \( $dizaine -o 9 \) ] then echo"seize" else echo"six" fi; break;; 7)if [ \( $dizaine -eq 0 \) -o \( $dizaine -eq 7 \) -o \( $dizaine -o 9 \) ] then echo"dix-sept" else echo"sept" fi; break;; 8)if [ \( $dizaine -eq 0 \) -o \( $dizaine -eq 7 \) -o \( $dizaine -o 9 \) ] then echo"dix-huit" else echo"huit" fi; break;; 9)if [ \( $dizaine -eq 0 \) -o \( $dizaine -eq 7 \) -o \( $dizaine -o 9 \) ] then echo"dix-neuf" else echo"neuf" fi; break;; esac
je sais pas vraiment ou il y'a le probleme
merci
-----