Il faut décomposer le nombre en facteurs de 10, (soit une série de chiffres de 0 à 9) ou alors utiliser sa représentation décimale textuelle, et pour chaque colonne, attribuer le texte qui va bien. Commencer par le chiffre le plus à gauche. Il faut déterminer son rang de façon à lui donner son nom :
1 -> "mille", "cent", "dix", "onze" "douze" etc. selon le rang et ce qui suit. C'est un algorithme combinatoire assez complexe. Il y a beaucoup de cas à traiter. Commencer par les cas généraux, puis, à l'aide de conditions astucieuses, déterminer les cas particuliers :
123 : "cent "vingt" "trois"
21 "vingt" "et un"
12 "douze"
etc. Attention à l'accord de "cent" ...
C is a sharp tool