Advertisement
Guest User

alex c# code

a guest
Oct 19th, 2019
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.55 KB | None | 0 0
  1. using System;
  2.  
  3. class TP1VEtudN00 {
  4.  
  5. static string ConvertirUnités(int entierDe0A9) {
  6. //VOUS DEVEZ CODER CETTE MÉTHODE!!!
  7. //retourne la chaîne française pour un chiffre allant de 0 à 9, MAIS la chaîne associée à 0 sera vide, et non "zéro"
  8. switch (entierDe0A9)
  9. {
  10. case 1:
  11. return "un";
  12. case 2:
  13. return "deux";
  14. case 3:
  15. return "trois";
  16. case 4:
  17. return "quatre";
  18. case 5:
  19. return "cinq";
  20. case 6:
  21. return "six";
  22. case 7:
  23. return "sept";
  24. case 8:
  25. return "huit";
  26. case 9:
  27. return "neuf";
  28. default:
  29. return "";
  30. }
  31.  
  32. }
  33.  
  34. static string ConvertirDizaines(int entierDe1A9) {
  35. //VOUS DEVEZ CODER CETTE MÉTHODE!!!
  36.  
  37. /*retourne la chaîne française pour la DIZAINE associée à un chiffre de 1 à 9, donc dix, vingt, trente...
  38. jusqu'à quatre-vingt-dix. NOTE: on considère que pour 8, on retournera "quatre-vingt", et non "quatre-vingts",
  39. puisqu'il est plus fréquent que le 's' soit absent*/
  40. switch (entierDe1A9)
  41. {
  42. case 1:
  43. return "dix";
  44. case 2:
  45. return "vingt";
  46. case 3:
  47. return "trente";
  48. case 4:
  49. return "quarante";
  50. case 5:
  51. return "cinquante";
  52. case 6:
  53. return "soixante";
  54. case 7:
  55. return "soixante-dix";
  56. case 8:
  57. return "quatre-vingt";
  58. case 9:
  59. return "quatre-vingt-dix";
  60. default:
  61. return "";
  62.  
  63. }
  64.  
  65. }
  66.  
  67. static string ConvertirDizainesSpéciales(int entierDe1A6) {
  68. //VOUS DEVEZ CODER CETTE MÉTHODE!!!
  69.  
  70. /*Retourne les six chaînes "spéciales" associées à certaines dizaines, utilisées dans certains cas précis:
  71. 1 ==> onze
  72. 2 ==> douze
  73. 3 ==> treize
  74. 4 ==> quatorze
  75. 5 ==> quinze
  76. 6 ==> seize*/
  77. switch (entierDe1A6)
  78. {
  79. case 1:
  80. return "onze";
  81. case 2:
  82. return "douze";
  83. case 3:
  84. return "treize";
  85. case 4:
  86. return "quatorze";
  87. case 5:
  88. return "quinze";
  89. case 6:
  90. return "seize";
  91. default:
  92. return "";
  93. }
  94.  
  95. }
  96.  
  97. static string ConvertirEntierSousCent(int entierDe1A99, bool contexteInfA1000) {
  98. /*Prend en paramètre un entier de 1 à 99 et retourne la chaîne appropriée. Ce paramètre de "contexteInfA1000" (à savoir:
  99. si le premier paramètre est 22, est-ce 22 ou 22 000?) est pertinent pour la présence d'un 's'.
  100. En effet, 380 380 ==> trois cent quatre-vingT mille trois cent quatre-vingtS.*/
  101. int entierUnités = entierDe1A99 % 10;
  102. int entierDizaines = entierDe1A99 / 10;
  103. string strUnités = ConvertirUnités(entierUnités);
  104. string strDizaines = ConvertirDizaines(entierDizaines);
  105. string réponse = ""; //Initialisation par défaut
  106. if (entierDizaines == 0)
  107. //Alors l'entier est inférieur à 10
  108. réponse = strUnités;
  109. else {
  110. if (entierDe1A99 >= 11 && entierDe1A99 <= 16)
  111. réponse = ConvertirDizainesSpéciales(entierUnités);
  112.  
  113. else if (entierDe1A99 == 80)
  114. réponse = contexteInfA1000 ? "quatre-vingt" : "quatre-vingts";
  115.  
  116. else if (entierUnités >= 1 && entierUnités <= 6 && (entierDizaines == 7 || entierDizaines == 9))
  117. {
  118. entierDizaines = entierDizaines - 1;
  119. strUnités = ConvertirDizainesSpéciales(entierUnités);
  120. strDizaines = ConvertirDizaines(entierDizaines);
  121. if (entierDe1A99 == 71)
  122. réponse = "soixante-et-onze";
  123. else
  124. réponse = strDizaines + "-" + strUnités;
  125. }
  126. else if (entierUnités == 1 && entierDizaines < 8)
  127. réponse = strDizaines + "-et-" + strUnités;
  128. else
  129. réponse = (entierUnités == 0 ? strDizaines : strDizaines + " " + strUnités);
  130. }
  131. return réponse;
  132. }
  133.  
  134.  
  135. static string ConvertirEntierSousMille(int entierDe1A999, bool contexteInférieurAMille) {
  136. //Prend en paramètre un entier de 1 à 999 et retourne la chaîne appropriée.
  137.  
  138. int entierSous100 = entierDe1A999 % 100;
  139. int entierCentaines = entierDe1A999 / 100;
  140. string portionCent_s;
  141. bool entierSous100Nul = entierSous100 == 0;
  142. bool entierCentaines0 = entierCentaines == 0;
  143.  
  144. if (entierCentaines0)
  145. portionCent_s = "";
  146. else {
  147. bool entierCentaines1 = entierCentaines == 1;
  148. portionCent_s = (entierCentaines1 ? "" : (ConvertirUnités(entierCentaines) + " ")) + "cent" + (contexteInférieurAMille && !entierCentaines1 && entierSous100Nul ? "s" : "");
  149. }
  150. string portionSousCent = entierSous100Nul ? "" : ((entierCentaines0 ? "" : " ") + ConvertirEntierSousCent(entierSous100, contexteInférieurAMille));
  151. return portionCent_s + portionSousCent;
  152. }
  153.  
  154. static string ConvertirEntierSousUnMillion(int entierDe1A1000000) {
  155. //Méthode qui prend un entier de 1 à 1 000 000 et retourne la chaîne appropriée.
  156. int Mille = entierDe1A1000000 / 1000;
  157. int EnDessousDeMille = entierDe1A1000000 % 1000;
  158. string MilleBro = ConvertirEntierSousMille(Mille,true);
  159. string SousMilleBro = ConvertirEntierSousMille(EnDessousDeMille,false);
  160. string réponse;
  161. if (entierDe1A1000000 == 1000000)
  162. réponse = "un million";
  163. else if (entierDe1A1000000 >= 1000 && entierDe1A1000000 <= 1999)
  164. réponse = "mille " + SousMilleBro;
  165.  
  166. else
  167. réponse = (entierDe1A1000000 < 1000 ? SousMilleBro : MilleBro + " mille " + SousMilleBro);
  168. return réponse;
  169.  
  170. }
  171.  
  172. static void Main() {
  173.  
  174. Console.WriteLine("Bienvenue au convertisseur nombre-lettres!");
  175. int nombre=SaisiesConsoleValides.saisirEntierConsoleDeA(1, 1000000);
  176. Console.WriteLine(ConvertirEntierSousUnMillion(nombre));
  177. }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement