Advertisement
ViValDam

Untitled

Mar 28th, 2014
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.87 KB | None | 0 0
  1. using System;
  2.  
  3. class NumbersAsWords
  4. {
  5. static void Main()
  6. {
  7. int i = 0;
  8. while (i < 1000)
  9. {
  10. Console.WriteLine("\n\nPlease, enter a number (0-999) !\n");
  11. int number;
  12. string[] word = new string[10]; //words starting with low case letter
  13. string[] wordCap = new string[10]; //words starting with capital letter
  14.  
  15. bool result = int.TryParse(Console.ReadLine(), out number);
  16. if (result == false || number < 0 || number > 999)
  17. {
  18. Console.WriteLine("\nInvalid input!\n");
  19. Main();
  20. }
  21. else
  22. {
  23. // geting the values of the digits of the number
  24. int[] digit = new int[3];
  25. digit[0] = number % 10;
  26. digit[1] = number % 100 / 10;
  27. digit[2] = number / 100;
  28.  
  29. // assigning a word to a digit(word starts with a low case letter)
  30. for (i = 0; i < 3; i++)
  31. {
  32. switch (digit[i])
  33. {
  34. case 1:
  35. {
  36. word[i] = "one";
  37. }
  38. break;
  39. case 2:
  40. {
  41. word[i] = "two";
  42. }
  43. break;
  44. case 3:
  45. {
  46. word[i] = "three";
  47. }
  48. break;
  49. case 4:
  50. {
  51. word[i] = "four";
  52. }
  53. break;
  54. case 5:
  55. {
  56. word[i] = "five";
  57. }
  58. break;
  59. case 6:
  60. {
  61. word[i] = "six";
  62. }
  63. break;
  64. case 7:
  65. {
  66. word[i] = "seven";
  67. }
  68. break;
  69. case 8:
  70. {
  71. word[i] = "eight";
  72. }
  73. break;
  74. case 9:
  75. {
  76. word[i] = "nine";
  77. }
  78. break;
  79. }
  80. }
  81.  
  82. // assigning a word to a digit(word starts with an upper case letter)
  83. for (i = 0; i < 3; i++)
  84. {
  85. switch (digit[i])
  86. {
  87. case 0:
  88. {
  89. wordCap[i] = "Zero";
  90. }
  91. break;
  92. case 1:
  93. {
  94. wordCap[i] = "One";
  95. }
  96. break;
  97. case 2:
  98. {
  99. wordCap[i] = "Two";
  100. }
  101. break;
  102. case 3:
  103. {
  104. wordCap[i] = "Three";
  105. }
  106. break;
  107. case 4:
  108. {
  109. wordCap[i] = "Four";
  110. }
  111. break;
  112. case 5:
  113. {
  114. wordCap[i] = "Five";
  115. }
  116. break;
  117. case 6:
  118. {
  119. wordCap[i] = "Six";
  120. }
  121. break;
  122. case 7:
  123. {
  124. wordCap[i] = "Seven";
  125. }
  126. break;
  127. case 8:
  128. {
  129. wordCap[i] = "Eight";
  130. }
  131. break;
  132. case 9:
  133. {
  134. wordCap[i] = "Nine";
  135. }
  136. break;
  137. }
  138. }
  139. Console.WriteLine();
  140. if (digit[2] == 0 && digit[1] == 0) //digit[0]!=0 - one digit number
  141. {
  142. Console.Write("{0}", wordCap[0]);
  143. }
  144. else if (digit[2] == 0) // digit[0]!=0 && digit[1]!=0 - two digits number
  145. {
  146. switch (digit[1])
  147. {
  148. case 1:
  149. word[1] = "ten";
  150. break;
  151. case 2:
  152. word[1] = "twenty";
  153. break;
  154. case 3:
  155. word[1] = "thirty";
  156. break;
  157. case 4:
  158. word[1] = "forty";
  159. break;
  160. case 5:
  161. word[1] = "fifty";
  162. break;
  163. case 6:
  164. word[1] = "sixty";
  165. break;
  166. case 7:
  167. word[1] = "seventy";
  168. break;
  169. case 8:
  170. word[1] = ("eighty");
  171. break;
  172. case 9:
  173. word[1] = ("ninety");
  174. break;
  175. }
  176.  
  177. switch (digit[1])
  178. {
  179. case 1:
  180. wordCap[1] = ("Ten");
  181. break;
  182. case 2:
  183. wordCap[1] = ("Twenty");
  184. break;
  185. case 3:
  186. wordCap[1] = ("Thirty");
  187. break;
  188. case 4:
  189. wordCap[1] = ("Forty");
  190. break;
  191. case 5:
  192. wordCap[1] = ("Fifty");
  193. break;
  194. case 6:
  195. wordCap[1] = ("Sixty");
  196. break;
  197. case 7:
  198. wordCap[1] = ("Seventy");
  199. break;
  200. case 8:
  201. wordCap[1] = ("Eighty");
  202. break;
  203. case 9:
  204. wordCap[1] = ("Ninety");
  205. break;
  206. }
  207.  
  208. if (digit[0]==0)
  209. {
  210. Console.WriteLine("{0}", wordCap[1]);
  211. }
  212. else if (digit[1]==1) //digit[0]!=0 and digit[1]==1
  213. {
  214. switch(digit[0])
  215. {
  216. case 1:
  217. Console.WriteLine("Eleven");
  218. break;
  219. case 2:
  220. Console.WriteLine("Twelve");
  221. break;
  222. case 3:
  223. Console.WriteLine("Thirteen");
  224. break;
  225. case 5:
  226. Console.WriteLine("Fifteen");
  227. break;
  228. case 8:
  229. Console.WriteLine("Eighteen");
  230. break;
  231. default:
  232. Console.WriteLine("{0}{1}", wordCap[0],"teen");
  233. break;
  234. }
  235. }
  236. else//digit[1]= 2,3,4,6,7,9
  237. {
  238. Console.WriteLine("{0} {1}", wordCap[1], word[0]);
  239. }
  240. }
  241. else // three digits number
  242. {
  243. if(digit[1]==0 && digit[0]==0) //2 zeroes at the end
  244. {
  245. Console.WriteLine("{0} hundred", wordCap[2]);
  246. }
  247. else if(digit[1]==0) // zero in the middle: digit:0:digit
  248. {
  249. Console.WriteLine("{0} hundred and {1}", wordCap[2],word[0]);
  250. }
  251. else if (digit[0] == 0) //10,20,30,40,50,60,70,80,90 at the end
  252. {
  253. switch (digit[1])
  254. {
  255. case 1:
  256. word[1] = ("ten");
  257. break;
  258. case 2:
  259. word[1] = ("twenty");
  260. break;
  261. case 3:
  262. word[1] = ("thirty");
  263. break;
  264. case 4:
  265. word[1] = ("forty");
  266. break;
  267. case 5:
  268. word[1] = ("fifty");
  269. break;
  270. case 6:
  271. word[1] = ("sixty");
  272. break;
  273. case 7:
  274. word[1] = ("seventy");
  275. break;
  276. case 8:
  277. word[1] = ("eighty");
  278. break;
  279. case 9:
  280. word[1] = ("ninety");
  281. break;
  282. }
  283. Console.WriteLine("{0} hundert and {1}", wordCap[2], word[1]);
  284. }
  285. else if (digit[1]==1)//finishing on 11,12,13,14,15,16,17,18,19
  286. {
  287. switch (digit[0])
  288. {
  289. case 1:
  290. Console.WriteLine("{0} hundred and {1}", wordCap[2],"eleven");
  291. break;
  292. case 2:
  293. Console.WriteLine("{0} hundred and {1}", wordCap[2],"twelve");
  294. break;
  295. case 3:
  296. Console.WriteLine("{0} hundred and {1}", wordCap[2],"thirteen");
  297. break;
  298. case 5:
  299. Console.WriteLine("{0} hundred and {1}", wordCap[2],"fifteen");
  300. break;
  301. case 8:
  302. Console.WriteLine("{0} hundred and {1}", wordCap[2],"eighteen");
  303. break;
  304. default:
  305. Console.WriteLine("{0} hundered and {1}{2}",wordCap[2], word[0],"teen");
  306. break;
  307. }
  308. }
  309. else // default three digits
  310. {
  311. switch (digit[1])
  312. {
  313. case 1:
  314. word[1] = ("ten");
  315. break;
  316. case 2:
  317. word[1] = ("twenty");
  318. break;
  319. case 3:
  320. word[1] = ("thirty");
  321. break;
  322. case 4:
  323. word[1] = ("forty");
  324. break;
  325. case 5:
  326. word[1] = ("fifty");
  327. break;
  328. case 6:
  329. word[1] = ("sixty");
  330. break;
  331. case 7:
  332. word[1] = ("seventy");
  333. break;
  334. case 8:
  335. word[1] = ("eighty");
  336. break;
  337. case 9:
  338. word[1] = ("ninety");
  339. break;
  340. }
  341. Console.WriteLine("{0} hundert and {1} {2}", wordCap[2], word[1], word[0]);
  342. Console.WriteLine();
  343. }
  344. }
  345. }
  346. Console.WriteLine();
  347. }
  348. i++;
  349. }
  350. }
  351.  
  352. /* Console.Write("Enter a number [0…999] : ");
  353.  
  354.  
  355.  
  356. ushort num;
  357.  
  358. if (!ushort.TryParse(Console.ReadLine(), out num))
  359.  
  360. {
  361.  
  362. Console.WriteLine("The input isn't a number!");
  363.  
  364. }
  365.  
  366. else
  367.  
  368. {
  369.  
  370. if ((num > 99) && (num < 1000))
  371.  
  372. {
  373.  
  374. Console.WriteLine(
  375.  
  376. (double)num / (num / 100) == 100 ?
  377.  
  378. UppercaseFirst(words[num / 100]) + " " + words[words.Length - 1] :
  379.  
  380. UppercaseFirst(words[num / 100]) + " " + words[words.Length - 1] + " " +
  381.  
  382. (num % 100 / 10 == 0 ? "and" + " " + words[num % 10] : (num % 100 < 21 ? "and " +
  383.  
  384. words[(num % 100)] : "and " + words[18 + (num % 100 / 10)] + " " + (num % 10 != 0 ? words[num % 10] : " "))));
  385.  
  386. }
  387.  
  388. else if (num < 100)
  389.  
  390. {
  391.  
  392. Console.WriteLine(num % 100 / 10 == 0 ?
  393.  
  394. UppercaseFirst(words[num % 10]) : (num < 21 ? UppercaseFirst(words[num]) :
  395.  
  396. UppercaseFirst(words[18 + (num % 100 / 10)]) + " " +
  397.  
  398. (num % 10 != 0 ? words[num % 10] : " ")));
  399.  
  400. }
  401.  
  402. else
  403.  
  404. {
  405.  
  406. Console.WriteLine("The number is bigger then 1000!");
  407.  
  408. }
  409.  
  410. }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement