Ecrire en lettre un nombre donné en chiffre!
Fermé
maxwell1093
Messages postés
40
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
10 août 2014
-
2 mars 2013 à 13:06
maxwell1093 Messages postés 40 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 10 août 2014 - 3 mars 2013 à 19:46
maxwell1093 Messages postés 40 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 10 août 2014 - 3 mars 2013 à 19:46
A voir également:
- Ecrire en lettre un nombre donné en chiffre!
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Ecrire en gras sur whatsapp - Guide
- Ecrire en miroir - Guide
- Excel trier par ordre croissant chiffre - Guide
1 réponse
Une approche simple, j'espère te servira de modèle pour une étendue plus large.
program NombreS_Lettres; Const Unites : array [0 .. 9] of String =('Zero', 'Un', 'Deux', 'Trois', 'Quatre', 'Cinq', 'Six', 'Sept', 'Huit', 'Neuf'); Dix_DixNeuf : array [0 .. 9] of String =('Dix', 'Onze', 'Douze', 'Treize', 'Quatorze', 'Quinze', 'Seize', 'Dix-sept', 'Dix-huit', 'Dix-neuf'); Diz_Arrondies : array [0 .. 7] of String =('Vingt', 'Trente', 'Quarante', 'Cinquante', 'Soixante', 'Soixante-dix', 'Quatre-vingt', 'Quatre-vingt-dix'); var X, R, Q : Integer; Trait : Char; S, Corde : String; begin Trait := '-'; Corde := 'et'; repeat Write('Saisir un nombre 0 .. 99 : '); Readln(X); until X > - 1 and X < 100; case X of 0 .. 9 : S := Unites[X]; 10 .. 19 : begin R := X mod 10; S := Dix_DixNeuf[R]; end; 20 .. 70 : begin R := X mod 10; Q := X div 10; case R of 0 : S := Diz_Arrondies[Q - 2]; 1 : S := Diz_Arrondies[Q - 3] + Trait + Corde + Trait + Unites[R]; 2 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 3 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 4 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 5 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 6 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 7 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 8 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 9 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; end; end; 71 .. 79 : begin R := X mod 10; Q := X div 10; case R of 1 : S := Diz_Arrondies[Q - 3] + Trait + Corde + Trait + Dix_DixNeuf[R]; 2 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 3 : S := Diz_Arrondies[Q - 3] + Trait + Trait + Dix_DixNeuf[R]; 4 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 5 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 6 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 7 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 8 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 9 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; end; end; 80 .. 90 : begin R := X mod 10; Q := X div 10; case R of 0 : S := Diz_Arrondies[Q - 2]; 1 : S := Diz_Arrondies[Q - 2] + Trait + Corde + Trait + Unites[R]; 2 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 3 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 4 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 5 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 6 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 7 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 8 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; 9 : S := Diz_Arrondies[Q - 2] + Trait + Unites[R]; end; end; 91 .. 99 : begin R := X mod 10; Q := X div 10; case R of 1 : S := Diz_Arrondies[Q - 3] + Trait + Corde + Trait + Dix_DixNeuf[R]; 2 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 3 : S := Diz_Arrondies[Q - 3] + Trait + Trait + Dix_DixNeuf[R]; 4 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 5 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 6 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 7 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 8 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; 9 : S := Diz_Arrondies[Q - 3] + Trait + Dix_DixNeuf[R]; end; end; end; WriteLn(S); Readln; { TODO -oUser -cConsole Main : placez le code ici } end.
3 mars 2013 à 19:46