static void Main(string[] args) { int alg, opt, n = 0; Crypt C = null; // meniu pentru alegerea algoritmului de criptare do { Console.WriteLine("Alegeti algoritmul: "); Console.WriteLine("1. Cezar "); Console.WriteLine("2. PlusN "); Console.WriteLine("3. Monoalfabetica "); Console.WriteLine("4. Polialfabetica "); alg = Convert.ToInt32(Console.ReadLine()); if (alg == 2 || alg == 4) { Console.WriteLine("Introduceti numarul cheie: "); n = Convert.ToInt32(Console.ReadLine()); } switch (alg) { case 1: C = new Cezar(); break; case 2: C = new PlusN(n); break; case 3: C = new Monoalfabetica(); break; case 4: C = new Vigenere(n); break; } } while (alg <= 0 || alg > 4); // meniu pentru lucrarea cu algoritmul alesa Console.WriteLine("Alegeti optiunea: "); Console.WriteLine("1. Encriptare "); Console.WriteLine("2. Decriptare "); Console.WriteLine("3. Criptoanaliza "); opt = Convert.ToInt32(Console.ReadLine()); string text = null, filepath = @""; if (opt == 1) { text = Fisier.Citire(filepath + "text_clar.txt"); } else if (opt == 2 || opt == 3) { text = Fisier.Citire(filepath + "text_criptat.txt"); } switch (opt) { case 1: text = C.Encriptare(text); break; case 2: text = C.Decriptare(text); break; case 3: text = C.Criptoanaliza(text); break; default: Console.WriteLine("Optiune introdusa gresita!"); break; } if (opt == 1) { Fisier.Scriere(filepath + "text_criptat.txt", text); } else if (opt == 2 || opt == 3) { Fisier.Scriere(filepath + "text_clar.txt", text); } }