Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.27 KB | None | 0 0
  1. using System;
  2.  
  3. class MainClass
  4. {
  5.     static void displaymenu()
  6.     {
  7.         Console.WriteLine("Menu");
  8.         Console.WriteLine("1) Encrypt.");
  9.         Console.WriteLine("2) Decrypt.");
  10.         Console.WriteLine("3) Quit.");
  11.     }
  12.  
  13.     static int GetInteger(int min, int max, string Prompt)
  14.     {
  15.         int value = 0;
  16.         do
  17.         {
  18.             Console.Write("\n{0}", Prompt);
  19.             try
  20.             {
  21.                 value = Convert.ToInt32(Console.ReadLine());
  22.                 if (value < 1 || value > 25)
  23.                 {
  24.                     Console.WriteLine("Please enter a value between {0} and {1}.", min, max);
  25.                 }
  26.             }
  27.             catch
  28.             {
  29.                 Console.WriteLine("Please enter a whole number between {0} and {1},", min, max);
  30.             }
  31.         } while (value < 1 || value > 25);
  32.         return value;
  33.     }
  34.     static string GetMessage(string Prompt)
  35.     {
  36.         string message = "";
  37.         do
  38.         {
  39.             Console.Write("\n{0}", Prompt);
  40.             message = Console.ReadLine();
  41.             if (message == "")
  42.             {
  43.                 Console.WriteLine("Please enter a message");
  44.             }
  45.         } while (message == "");
  46.         return message;
  47.     }
  48.     static string Encode(string message, int key)
  49.     {
  50.         int ASCIICode, LetterNumber;
  51.         string NewMessage = "";
  52.         for (int i = 0; i < message.Length; i++)
  53.         {
  54.             if (message[i] >= 'a' && message[i] <= 'z')
  55.             {
  56.                 LetterNumber = (int)message[i] - 97;
  57.                 LetterNumber = (LetterNumber + key) % 26;
  58.                 if (LetterNumber < 0) LetterNumber += 26;
  59.                 ASCIICode = LetterNumber + 97;
  60.                 NewMessage += Convert.ToChar(ASCIICode);
  61.             }
  62.             else if (message[i] >= 'A' && message[i] <= 'Z')
  63.             {
  64.                 LetterNumber = (int)message[i] - 65;
  65.                 LetterNumber = (LetterNumber + key) % 26;
  66.                 if (LetterNumber < 0) LetterNumber += 26;
  67.                 ASCIICode = LetterNumber + 65;
  68.                 NewMessage += Convert.ToChar(ASCIICode);
  69.             }
  70.             else
  71.                 NewMessage += message[i];
  72.         }
  73.         return NewMessage;
  74.     }
  75.     static void Main(string[] args)
  76.     {
  77.         int MenuChoice = 0;
  78.         string message, NewMessage;
  79.         int key;
  80.         do
  81.         {
  82.             displaymenu();
  83.             MenuChoice = GetInteger(1, 3, "Enter menu option: ");
  84.             switch (MenuChoice)
  85.             {
  86.                 case 1:
  87.                     message = GetMessage("Enter message to be Encrypted: ");
  88.                     key = GetInteger(1, 25, "Enter key used: ");
  89.                     NewMessage = Encode(message, key);
  90.                     Console.WriteLine("\nEncrypted message: {0}", NewMessage);
  91.                     break;
  92.                 case 2:
  93.                     message = GetMessage("Enter message to be decrypted: ");
  94.                     key = GetInteger(1, 25, "Enter key used: ");
  95.                     NewMessage = Encode(message, -key);
  96.                     Console.WriteLine("\nDecrypted message: {0}", NewMessage);
  97.                     break;
  98.             }
  99.         } while (MenuChoice != 3);
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement