Advertisement
ivoCod

C# задача от SoftUni Number 0...100 to Text

Apr 2nd, 2018
419
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.40 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 _16.Number_0_to_100_to_Text
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Console.Write("Въведи число от 0 до 100: ");
  14.             int number = int.Parse(Console.ReadLine());
  15.  
  16.             if (number < 0 || number > 100)
  17.             {
  18.                 Console.WriteLine("Invalid number");
  19.             }
  20.             else
  21.             {
  22.                 string numberAsText = String.Empty; //Еднакво с = "";
  23.  
  24.                 if (number == 0)
  25.                 {
  26.                     numberAsText = "zero";
  27.                 }
  28.                 if (number >= 10 && number < 20)
  29.                 {
  30.                     switch (number)
  31.                     {
  32.                         case 10: numberAsText = "ten"; break;
  33.                         case 11: numberAsText = "eleven"; break;
  34.                         case 12: numberAsText = "twelve"; break;
  35.                         case 13: numberAsText = "thirteen"; break;
  36.                         case 14: numberAsText = "forteen"; break;
  37.                         case 15: numberAsText = "fifteen"; break;
  38.                         case 16: numberAsText = "sixteen"; break;
  39.                         case 17: numberAsText = "seventeen"; break;
  40.                         case 18: numberAsText = "eighteen"; break;
  41.                         case 19: numberAsText = "nineteen"; break;
  42.  
  43.                     }
  44.                 }
  45.                 else if ((number > 0 && number < 10) || (number >= 20 && number < 100))
  46.                 {
  47.                     int firstDigit = number / 10;
  48.  
  49.                     switch (firstDigit)
  50.                     {
  51.                         case 0: numberAsText = String.Empty; break; //може да се изпиши = ""; break;
  52.                         case 2: numberAsText = "twenty"; break;
  53.                         case 3: numberAsText = "thirty"; break;
  54.                         case 4: numberAsText = "forty"; break;
  55.                         case 5: numberAsText = "fifty"; break;
  56.                         case 6: numberAsText = "sixty"; break;
  57.                         case 7: numberAsText = "seventy"; break;
  58.                         case 8: numberAsText = "eighty"; break;
  59.                         case 9: numberAsText = "ninety"; break;
  60.                     }
  61.  
  62.                     int secondDigit = number % 10;
  63.  
  64.                     switch (secondDigit)
  65.                     {
  66.                         case 1: numberAsText += " one"; break;
  67.                         case 2: numberAsText += " two"; break;
  68.                         case 3: numberAsText += " three"; break;
  69.                         case 4: numberAsText += " four"; break;
  70.                         case 5: numberAsText += " five"; break;
  71.                         case 6: numberAsText += " six"; break;
  72.                         case 7: numberAsText += " seven"; break;
  73.                         case 8: numberAsText += " eight"; break;
  74.                         case 9: numberAsText += " nine"; break;
  75.                     }
  76.  
  77.  
  78.                 }
  79.                 else if (number == 100)
  80.                 {
  81.                     numberAsText = "one hundred";
  82.                 }
  83.  
  84.                 Console.WriteLine(numberAsText.Trim()); // Trim - е метод и премахва празни интервали пред и след стринга (текста)
  85.  
  86.             }
  87.  
  88.         }
  89.     }
  90. }
  91.  
  92.  
  93.     Втори вариант на решение на задачата:
  94.  
  95. using System;
  96. using System.Collections.Generic;
  97. using System.Linq;
  98. using System.Text;
  99. using System.Threading.Tasks;
  100.  
  101. namespace _16._1.Number_0_to_100_to_Text
  102. {
  103.     class Program
  104.     {
  105.         static void Main(string[] args)
  106.         {
  107.             Console.WriteLine("Решение с използване на масиви.");
  108.             Console.Write("Въведи цяло число от 0 до 100: ");
  109.             int number = int.Parse(Console.ReadLine());
  110.  
  111.             if (number < 0 || number > 100)
  112.             {
  113.                 Console.WriteLine("Invalid number");
  114.             }
  115.             else
  116.             {
  117.                 string nameNumber = "";
  118.  
  119.                 var zeroToNineteen = new[] { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
  120.  
  121.                 var twentyToNinety = new[] { "zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
  122.  
  123.                 if (number >= 0 && number < 20)
  124.                 {
  125.                     nameNumber = zeroToNineteen[number];
  126.                 }
  127.                 else if (number >= 20 && number < 100)
  128.                 {
  129.                     int firstDigit = (number / 10);
  130.                     nameNumber = twentyToNinety[firstDigit];
  131.  
  132.                     int secondDigit = (number % 10);
  133.                     if (secondDigit != 0)
  134.                     {
  135.                         nameNumber = nameNumber + " " + zeroToNineteen[secondDigit];
  136.                     }
  137.                    
  138.                 }
  139.                 else if (number == 100)
  140.                 {
  141.                     nameNumber = "one hundred";
  142.                 }
  143.  
  144.                 Console.WriteLine(nameNumber);
  145.             }
  146.         }
  147.     }
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement