bonjour,
s'il vous plait si quelqu'un peut m'aider dans un script shell qui permet de convertir un chiffre passé en paramètre compris entre 0 à 1000 en lettres!!! merciii d'avance
bonjour,
s'il vous plait si quelqu'un peut m'aider dans un script shell qui permet de convertir un chiffre passé en paramètre compris entre 0 à 1000 en lettres!!! merciii d'avance
C'est à dire ? Un chiffre est un caractère comme les autres.
ɹǝsn *sıɹɐlos*
cad un nombre de type entier compris entre 0 et 1000.merci d'avance
la solution que tu cherches est une encapsulation de syntaxes
et ainsi de suite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 switch $VAR case valeur) action ;; valeur2) action ;; esac
1 = un
2 = deux
la seule difficulté c'est de gérer les dizaines, centaines et milliers mais la solution est d'encapsuler dans l'ordre
4 caractères de long = millier + centaines + dizaine + unité
3 = centaine + dizaine + unité
2 = dizaine + unité
1 = unités
n'oublies pas de gérer les les pluriels !!!! spéciaux sur les nombres
merciiiiii
voici un petit exemple pour expliquer ce qui se passe au juste :
tu devra donc utiliser des variables auxilières dans ton script, par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 a=123 #entier b=$a" 4" #affiche 123 4 donc "b" est désormais une chaîne c=${b/ /} #affiche 1234 et "c" est une chaine #pour éliminer le "4" tu n'a qu'à faire : d=${c/4/} #et voilà d="123" une chaine
enfin, pas de quoi sinda wrabi m3ak dans ton script
Code : Sélectionner tout - Visualiser dans une fenêtre à part aux=${numéro de l'argument} #puis suivre la méthode dessus (pas nécessairement à la lettre) :D
en fait,j'ai mal citer le probleme apparement
le script shell que je veux,il faut que je lui donne un entier entre 0 et 1000: par exple je lui donne 232 et il dois me rendre "deux cent trente deux" voilà
mercii pour ceux qui m'ont repondu et j'epere que j'aurai une reponse qui va m'aider car j'en arrive pas à le faire sachant que je suis encore debutante e programmation shell..
la réponse je l'ai donné après à toi de faire le script maintenant y'a plus rien à faire à part le rédiger.
manifestement tu n'a pas compris alors je reprend
tu découpe la chaine de chiffres 232 par exemple en 2,3,2
tu genre le dernier (unité)
puis le chiffre des dizaine
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 2) lastchar="deux" ;;
et ainsi de suite de droite à gauche d'où l'imbrication des structures switch
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 3) dizaine="trente" ;;
puis les centaines
après tu gère l'affichage du résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 2) centaine="deux cent" ;;
tu affiche avec un echo $resultat ça donne bien "deux cent trente deux"
Code : Sélectionner tout - Visualiser dans une fenêtre à part resultat=$millier" "$centaine" "$dizaine" "$unite
là je peux pas aller plus loin sans le faire completement à ta place...
Bonjour.
Apparemment, ce genre d'exercice est à la mode depuis quelques temps. Plusieurs sujets ont déjà été postés (et pourront peut être t'inspirer, même si ce n'est pas le même langage) :
http://www.developpez.net/forums/d10.../script-shell/ (forum Linux)
http://www.developpez.net/forums/d85...sformer-cpp-c/ (forum C)
http://www.developpez.net/forums/d85...nombre-11-a19/ (forum C)
Après, il serait bien de présenter un début de solution même si ça ne fonctionne pas.
Cordialement,
Idriss
Bon courage pour gérer les "s" et les tirets.
bonjour,
mercii infiniment, j'ai réussi hmdlh grâce à vous de rédiger le script et ça s'exécute sans aucun problème, vraiment mercii pour tous les gens qui m'ont répondu...
cordialement
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager