Guest User

EncryptTheMessage

a guest
Aug 30th, 2015
630
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.48 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text.RegularExpressions;
  4.  
  5. public class EncryptTheMessage
  6. {
  7.     private static string _convertedString;
  8.  
  9.     private static void Main()
  10.     {
  11.         var fromAtoMupper = new char[13];
  12.         var fromNtoZupper = new char[13];
  13.         var fromAtoMlower = new char[13];
  14.         var fromNtoZlower = new char[13];
  15.         var convertedInputString = new List<char>();
  16.         var theList = new List<string>();
  17.         var inputString = Console.ReadLine();
  18.  
  19.         while (inputString.ToUpper() != "START")
  20.         {
  21.             inputString = Console.ReadLine();
  22.         }
  23.  
  24.         inputString = Console.ReadLine();
  25.  
  26.         while (inputString != null && inputString.ToUpper() != "END")
  27.         {
  28.             if (string.IsNullOrWhiteSpace(inputString))
  29.             {
  30.                 inputString = Console.ReadLine();
  31.                 continue;
  32.             }
  33.             var indexes = new int[inputString.Length];
  34.  
  35.             for (var i = 0; i < 13; i++)
  36.             {
  37.                 fromAtoMupper[i] = (Convert.ToChar(i + 65));
  38.                 fromNtoZupper[i] = (Convert.ToChar((i + 13) + 65));
  39.                 fromAtoMlower[i] = (Convert.ToChar(i + 97));
  40.                 fromNtoZlower[i] = (Convert.ToChar((i + 13) + 97));
  41.             }
  42.  
  43.             for (var i = 0; i < inputString.Length; i++)
  44.             {
  45.                 var currentChar = inputString[i];
  46.                 var charToString = inputString[i].ToString();
  47.                 if (Regex.IsMatch(charToString, "^[a-zA-Z0-9]+$"))
  48.                 {
  49.                     if (inputString[i] < 97)
  50.                     {
  51.                         if (Array.IndexOf(fromAtoMupper, currentChar) > -1)
  52.                         {
  53.                             indexes[i] = Array.IndexOf(fromAtoMupper, currentChar);
  54.                             convertedInputString.Add(fromNtoZupper[indexes[i]]);
  55.                         }
  56.  
  57.                         else if (inputString[i] > 47 && inputString[i] < 58)
  58.                         {
  59.                             convertedInputString.Add(inputString[i]);
  60.                         }
  61.  
  62.                         else
  63.                         {
  64.                             indexes[i] = Array.IndexOf(fromNtoZupper, currentChar);
  65.                             convertedInputString.Add(fromAtoMupper[indexes[i]]);
  66.                         }
  67.                     }
  68.                     else
  69.                     {
  70.                         if (Array.IndexOf(fromAtoMlower, currentChar) > -1)
  71.                         {
  72.                             indexes[i] = Array.IndexOf(fromAtoMlower, currentChar);
  73.                             convertedInputString.Add(fromNtoZlower[indexes[i]]);
  74.                         }
  75.                         else
  76.                         {
  77.                             indexes[i] = Array.IndexOf(fromNtoZlower, currentChar);
  78.                             convertedInputString.Add(fromAtoMlower[indexes[i]]);
  79.                         }
  80.                     }
  81.                 }
  82.                 else
  83.                 {
  84.                     switch (inputString[i])
  85.                     {
  86.                         case ' ':
  87.                             convertedInputString.Add('+');
  88.                             break;
  89.                         case ',':
  90.                             convertedInputString.Add('%');
  91.                             break;
  92.                         case '.':
  93.                             convertedInputString.Add('&');
  94.                             break;
  95.                         case '?':
  96.                             convertedInputString.Add('#');
  97.                             break;
  98.                         case '!':
  99.                             convertedInputString.Add('$');
  100.                             break;
  101.                     }
  102.                 }
  103.             }
  104.             convertedInputString.Reverse();
  105.             var currr = convertedInputString.ToArray();
  106.             _convertedString = string.Join("", currr);
  107.             theList.Add(_convertedString);
  108.             convertedInputString.Clear();
  109.             inputString = Console.ReadLine();
  110.         }
  111.         if (theList.Count == 0)
  112.         {
  113.             Console.WriteLine("No messages sent.");
  114.         }
  115.         else
  116.         {
  117.             Console.WriteLine("Total number of messages: {0}", theList.Count);
  118.             for (int i =0 ; i < theList.Count ; i++)
  119.             {
  120.                 Console.WriteLine(theList[i]);
  121.             }
  122.         }
  123.     }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment