Advertisement
_CodeBehind

Phone-Simple Arrays more ex.

Feb 16th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.29 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace _2._4.Phonee
  5. {
  6.     public class Program
  7.     {
  8.         public static void Main()
  9.         {
  10.             var phoneNumbers = Console.ReadLine().Split(' ').ToArray();
  11.            var names = Console.ReadLine().Split(' ').ToArray();
  12.  
  13.             var line = Console.ReadLine().Split(' ');
  14.  
  15.             while (line[0] != "done")
  16.             {
  17.                 if (line[0] == "call")
  18.                 {
  19.                     var splittedNameOrNumber = line[1].ToCharArray();
  20.                     var isLetter = DigitOrLetter(splittedNameOrNumber);
  21.                     if (isLetter)
  22.                     {
  23.                         CallingName(phoneNumbers, names, line);
  24.                     }
  25.                     else if (!isLetter)
  26.                     {
  27.                         CallingNumber(phoneNumbers, names, line);
  28.                     }
  29.                 }
  30.                 else if (line[0] == "message")
  31.                 {
  32.                     var splittedNameOrNumber = line[1].ToCharArray();
  33.                     var isLetter = DigitOrLetter(splittedNameOrNumber);
  34.                     if (isLetter)
  35.                     {
  36.                         MessagingName(phoneNumbers, names, line);
  37.  
  38.                     }
  39.                     else if (!isLetter)
  40.                     {
  41.                         MessagingNumber(phoneNumbers, names, line);
  42.  
  43.                     }
  44.                 }
  45.                 line = Console.ReadLine().Split(' ');
  46.             }
  47.         }
  48.  
  49.         private static void MessagingNumber(string[] phoneNumbers, string[] names, string[] line)
  50.         {
  51.             for (int i = 0; i < phoneNumbers.Length; i++)
  52.             {
  53.                 if (line[1] == phoneNumbers[i])
  54.                 {
  55.                     var currentName = line[1];
  56.                     phoneNumbers[i] = names[i];
  57.                     Console.WriteLine($"sending sms to {phoneNumbers[i]}...");
  58.                     var sumOfDigits = line[1].ToCharArray();
  59.                     var sum = 0;
  60.                     foreach (var x in sumOfDigits)
  61.                     {
  62.                         if (x > 48 && x <= 57)
  63.                         {
  64.                             sum += x - '0';
  65.                         }
  66.                     }
  67.                     if (sum % 2 == 0)
  68.                     {
  69.                         Console.WriteLine($"meet me there");
  70.                     }
  71.                     else { Console.WriteLine("busy"); }
  72.                     phoneNumbers[i] = currentName;
  73.                     break;
  74.                 }
  75.             }
  76.         }
  77.  
  78.         private static void MessagingName(string[] phoneNumbers, string[] names, string[] line)
  79.         {
  80.             for (int i = 0; i < names.Length; i++)
  81.             {
  82.                 if (line[1] == names[i])
  83.                 {
  84.                     var currentName = line[1];
  85.                     names[i] = phoneNumbers[i];
  86.                     Console.WriteLine($"sending sms to {names[i]}...");
  87.                     var sumOfDigits = phoneNumbers[i].ToCharArray();
  88.                     var sum = 0;
  89.                     foreach (var x in sumOfDigits)
  90.                     {
  91.                         if (x > 48 && x <= 57)
  92.                         {
  93.                             sum += x - '0';
  94.                         }
  95.                     }
  96.                     if (sum % 2 == 0)
  97.                     {
  98.                         Console.WriteLine($"meet me there");
  99.                     }
  100.                     else { Console.WriteLine("busy"); }
  101.                     names[i] = currentName;
  102.                     break;
  103.                 }
  104.             }
  105.         }
  106.  
  107.         private static void CallingNumber(string[] phoneNumbers, string[] names, string[] line)
  108.         {
  109.             for (int i = 0; i < phoneNumbers.Length; i++)
  110.             {
  111.  
  112.                 if (line[1] == phoneNumbers[i])
  113.                 {
  114.                     var currentName = line[1];
  115.                     phoneNumbers[i] = names[i];
  116.                     Console.WriteLine($"calling {phoneNumbers[i]}...");
  117.                     var sumOfDigits = line[1].ToCharArray();
  118.                     var sum = 0;
  119.                     foreach (var x in sumOfDigits)
  120.                     {
  121.                         if (x > 48 && x <= 57)
  122.                         {
  123.                             sum += x - '0';
  124.                         }
  125.                     }
  126.                     if (sum % 2 == 0)
  127.                     {
  128.                         var t = TimeSpan.FromSeconds(sum);
  129.                         var answer = $"call ended. duration: {t.Minutes:D2}:{t.Seconds:D2}";
  130.                         Console.WriteLine(answer);
  131.                     }
  132.                     else { Console.WriteLine("no answer"); }
  133.                     phoneNumbers[i] = currentName;
  134.                     break;
  135.                 }
  136.             }
  137.         }
  138.  
  139.         private static void CallingName(string[] phoneNumbers, string[] names, string[] line)
  140.         {
  141.             for (int i = 0; i < names.Length; i++)
  142.             {
  143.                 var currentName = line[1];
  144.                 if (line[1] == names[i])
  145.                 {
  146.                     names[i] = phoneNumbers[i];
  147.                     Console.WriteLine($"calling {names[i]}...");
  148.                     var sumOfDigits = phoneNumbers[i].ToCharArray();
  149.                     var sum = 0;
  150.                     foreach (var x in sumOfDigits)
  151.                     {
  152.                         if (x > 48 && x <= 57)
  153.                         {
  154.                             sum += x - '0';
  155.                         }
  156.                     }
  157.                     if (sum % 2 == 0)
  158.                     {
  159.                         var t = TimeSpan.FromSeconds(sum);
  160.                         var answer = $"call ended. duration: {t.Minutes:D2}:{t.Seconds:D2}";
  161.                         Console.WriteLine(answer);
  162.                     }
  163.                     else { Console.WriteLine("no answer"); }
  164.                     names[i] = currentName;
  165.                     break;
  166.                 }
  167.             }
  168.         }
  169.  
  170.         private static bool DigitOrLetter(char[] splittedNameOrNumber)
  171.         {
  172.             return (splittedNameOrNumber[0] >= 'A' && splittedNameOrNumber[0] <= 'Z') || (splittedNameOrNumber[0] >= 'a' && splittedNameOrNumber[0] <= 'z');
  173.         }
  174.     }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement