SHARE
TWEET

alex c# code

a guest Oct 19th, 2019 110 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top