Advertisement
keero

Untitled

Jun 17th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.62 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _50numbersToWords
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. int n = int.Parse(Console.ReadLine());
  14. Console.WriteLine(Letterize(n));
  15.  
  16. }
  17.  
  18. static string Letterize(int n)
  19. {
  20. int number = 0;
  21.  
  22. string firstDigitWord = "";
  23. string secondDigitWord = "";
  24. string thirdDigitWord = "";
  25.  
  26. for (int i = 0; i < n; i++)
  27. {
  28. number = int.Parse(Console.ReadLine());
  29.  
  30. int firstDigit = number / 100;
  31. int secondDigit = (number % 100) / 10;
  32. int thirdDigit = number % 10;
  33.  
  34. if (number > 999 )
  35. {
  36. return "too large";
  37. }
  38. else if (number < -999)
  39. {
  40. return "too small";
  41. }
  42. else if (number < 100)
  43. {
  44. return null;
  45.  
  46. }
  47. else
  48. {
  49. switch (firstDigit)
  50. {
  51. case 1: firstDigitWord = "one"; break;
  52. case 2: firstDigitWord = "two"; break;
  53. case 3: firstDigitWord = "three"; break;
  54. case 4: firstDigitWord = "four"; break;
  55. case 5: firstDigitWord = "five"; break;
  56. case 6: firstDigitWord = "six"; break;
  57. case 7: firstDigitWord = "seven"; break;
  58. case 8: firstDigitWord = "eight"; break;
  59. case 9: firstDigitWord = "nine"; break;
  60. default:
  61. break;
  62. }
  63.  
  64. if (number % 100 == 0) // 100 200 300 ...
  65. {
  66.  
  67. return ($"minus {firstDigitWord}-hundred");
  68. }
  69. else
  70. {
  71. if (number % 100 <= 10) // second digit - 101 102 103
  72. {
  73. switch (secondDigit)
  74. {
  75. case 1: secondDigitWord = "one"; break;
  76. case 2: secondDigitWord = "two"; break;
  77. case 3: secondDigitWord = "three"; break;
  78. case 4: secondDigitWord = "four"; break;
  79. case 5: secondDigitWord = "five"; break;
  80. case 6: secondDigitWord = "six"; break;
  81. case 7: secondDigitWord = "seven"; break;
  82. case 8: secondDigitWord = "eight"; break;
  83. case 9: secondDigitWord = "nine"; break;
  84. case 10: secondDigitWord = "ten"; break;
  85. default:
  86. break;
  87.  
  88. }
  89. return ($"minus {firstDigitWord}-hundred and {secondDigitWord}");
  90. }
  91.  
  92. else if (number % 100 > 10 && number % 100 <= 20) // 211 212 213 219
  93. {
  94. switch (secondDigit)
  95. {
  96. case 11: secondDigitWord = "eleven"; break;
  97. case 12: secondDigitWord = "twelve"; break;
  98. case 13: secondDigitWord = "thirteen"; break;
  99. case 14: secondDigitWord = "fourteen"; break;
  100. case 15: secondDigitWord = "fifteen"; break;
  101. case 16: secondDigitWord = "sixteen"; break;
  102. case 17: secondDigitWord = "seventeen"; break;
  103. case 18: secondDigitWord = "eighteen"; break;
  104. case 19: secondDigitWord = "nineteen"; break;
  105. case 20: secondDigitWord = "twenty"; break;
  106. default:
  107. break;
  108. }
  109. return ($"minus {firstDigitWord}-hundred and {secondDigitWord}");
  110.  
  111. }
  112. else // all cases 125 999 436 ...
  113. {
  114. switch (secondDigit)
  115. {
  116.  
  117. case 2: thirdDigitWord = "twenty"; break;
  118. case 3: thirdDigitWord = "thirty"; break;
  119. case 4: thirdDigitWord = "fourty"; break;
  120. case 5: thirdDigitWord = "fifty"; break;
  121. case 6: thirdDigitWord = "sixty"; break;
  122. case 7: thirdDigitWord = "seventy"; break;
  123. case 8: thirdDigitWord = "eighty"; break;
  124. case 9:
  125. thirdDigitWord = "ninety"; break;
  126. default:
  127. break;
  128. }
  129.  
  130. switch (thirdDigit)
  131. {
  132. case 1: thirdDigitWord = "one"; break;
  133. case 2: thirdDigitWord = "two"; break;
  134. case 3: thirdDigitWord = "three"; break;
  135. case 4: thirdDigitWord = "four"; break;
  136. case 5: thirdDigitWord = "five"; break;
  137. case 6: thirdDigitWord = "six"; break;
  138. case 7: thirdDigitWord = "seven"; break;
  139. case 8: thirdDigitWord = "eight"; break;
  140. case 9: thirdDigitWord = "nine"; break;
  141.  
  142. default:
  143. break;
  144. }
  145.  
  146.  
  147. return ($"minus {firstDigitWord}-hundred and {secondDigitWord} {thirdDigitWord}");
  148. }
  149.  
  150.  
  151. }
  152. }
  153. }
  154.  
  155. }
  156. }
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement