Witam,
Dostałem zadanie z kryptografii do wykonania, i chciałbym poprosić o mały review, co zmienić, co poprawić.
Wytyczne do zadania:
- Pyta użytkownika czy chce zakodować czy odkodować wiadomość
- Pyta o klucz
- Pobiera tekst do zakodowania/odkodowania
- Zwraca wynik w postaci szyfrogram/tekst jawny to:...
using System;
using System.Linq;
namespace Cezar
{
class Program
{
public const int Alphabet = 'z' - 'a' + 1;
public static string Encode(string message, int key)
{
return string.Concat(message.Select(x => (char)('a' + (x - 'a' + key) % Alphabet)));
}
public static string Decode(string message, int key)
{
return Encode(message, Alphabet - key);
}
static void Main(string[] args)
{
Console.Write("Wprowadź tekst: ");
string input = Console.ReadLine();
Console.Write("Wprowadź klucz: ");
int key = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("\nCo chcesz zrobić");
Console.WriteLine("\n1 - Szyfrować");
Console.WriteLine("2 - Deszyfrować\n");
int operation = Convert.ToInt32(Console.ReadLine());
switch (operation)
{
case 1:
string encodeInput = Encode(input, key);
Console.WriteLine("Tekst po zaszyfrowaniu: " + encodeInput);
break;
case 2:
string decodeInput = Decode(input, key);
Console.WriteLine("Tekst po odszyfrowaniu: " + decodeInput);
break;
}
Console.ReadKey();
}
}
}