
- •Пояснительная записка
- •Задание
- •Реферат
- •Введение
- •Нормативные ссылки
- •Постановка задачи
- •Описание входных и выходных данных
- •Описание алгоритмов
- •Описание алгоритма Цезаря
- •Описание алгоритма Атбаш
- •Технология разработки приложения
- •Описание программы
- •Руководство пользователя
- •Заключение
- •Список используемых источников
- •Приложение а – Листинг программы
Приложение а – Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using курсовой.Resources;
namespace курсовой
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Shifr1_Click(object sender, EventArgs e)
{
int key = Convert.ToInt32(numericUpDown1.Value.ToString()); //количество сдвигов
string s = ShifrText1.Text;//храню слово, которое будем шифровать
string s1 = "";//храню результат шифрования
string alf = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";//работаю с английским алфавитом
string alfphabet = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя";//работаю с русским алфавитом
for (int i = 0; i < s.Length; i++)//цикл перебора букв шифруемого слова
{
if (s[i].ToString() == " " || s[i].ToString() == "." || s[i].ToString() == "," || s[i].ToString() == ":" || s[i].ToString() == ";" || s[i].ToString() == "?" || s[i].ToString() == "!") // эти знаки печатаются без зашифровки
{
s1 = s1 + s[i];
}
for (int j = 0; j < alfphabet.Length; j++)//цикл сравнения каждой бкувы с алфавитом
{
if (s[i] == alfphabet[j]) // в случае совпадения создаем темп, где храню номер буквы со сдвигом
{
int temp = j + 2*key;//номер буквы+сдвиг в темп
while (temp >= alfphabet.Length)//чтобы темп не уходил за рамки алфавита
temp -= alfphabet.Length;
s1 = s1 + alfphabet[temp];//заношу зашифрованную букву в переменную для ее хранения
}
}
for (int j = 0; j < alf.Length; j++)//цикл сравнения каждой буквы с алфавитом
if (s[i] == alf[j])
{
int temp = j + 2*key;//номер буквы-сдвиг в темп
while (temp >= alf.Length)//чтобы темп не уходил за рамки алфавита
temp -= alf.Length;
s1 = s1 + alf[temp];//заношу зашифрованную букву в переменную для ее хранения
}
}
DeShifrText1.Text = s1;
}
private void DeShifr1_Click(object sender, EventArgs e)
{
int key = Convert.ToInt32(numericUpDown1.Value.ToString()); //количество сдвигов
string s = ShifrText1.Text;//храню слово, которое будем шифровать
string s1 = "";//храню результат шифрования
string alf = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";//работаю с английским алфавитом
string alfphabet = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя";//работаю с русским алфавитом
for (int i = 0; i < s.Length; i++)//цикл перебора букв шифруемого слова
{
if (s[i].ToString() == " " || s[i].ToString() == "." || s[i].ToString() == "," || s[i].ToString() == ":" || s[i].ToString() == ";" || s[i].ToString() == "?" || s[i].ToString() == "!") // эти знаки печатаются без зашифровки
{
s1 = s1 + s[i];
}
for (int j = 0; j < alfphabet.Length; j++)//цикл сравнения каждой бкувы с алфавитом
{
if (s[i] == alfphabet[j]) // в случае совпадения создаем темп, где храню номер буквы со сдвигом
{
int temp = j - 2*key+66;//номер буквы+сдвиг в темп
while (temp >= alfphabet.Length)//чтобы темп не уходил за рамки алфавита
temp -= alfphabet.Length;
s1 = s1 + alfphabet[temp];//заношу зашифрованную букву в переменную для ее хранения
}
}
for (int j = 0; j < alf.Length; j++)//цикл сравнения каждой буквы с алфавитом
if (s[i] == alf[j])
{
int temp = j - 2*key;//номер буквы-сдвиг в темп
while (temp >= alf.Length)//чтобы темп не уходил за рамки алфавита
temp -= alf.Length;
s1 = s1 + alf[temp];//заношу зашифрованную букву в переменную для ее хранения
}
}
DeShifrText1.Text = s1;
}
private void Shifr2_Click(object sender, EventArgs e)
{
string abc1 = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя";
string abc2 = "ЯяЮюЭэЬьЫыЪъЩщШшЧчЦцХхФфУуТтСсРрПпОоНнМмЛлКкЙйИиЗзЖжЁёЕеДдГгВвБбАа";
string abc3 = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvWwXxYyZz";
string abc4 = "ZzYyXxWwVvUuTtSsRrPpOoNnMmLlKkJjIiHhGgFfEeDdCcBbAa";
string str1 = "";
string str2 = ShifrText2.Text;
for (int i = 0; i < str2.Length; i++)
{
if (str2[i].ToString() == " " || str2[i].ToString() == "." || str2[i].ToString() == "," || str2[i].ToString() == ":" || str2[i].ToString() == ";" || str2[i].ToString() == "?" || str2[i].ToString() == "!") // эти знаки печатаются без зашифровки
{
str1 = str1 + str2[i];
}
for (int l = 0; l < abc1.Length; l++)
if (str2[i] == abc1[l])
{
str1 = str1 + abc2[l];
}
for (int l = 0; l < abc4.Length; l++)
if (str2[i] == abc4[l])
{
str1 = str1 + abc3[l];
}
}
DeShifrText2.Text = str1 ;
}
private void выходToolStripMenuItem_Click_1(object sender, EventArgs e)
{
Close();
}
private void цезарьToolStripMenuItem_Click(object sender, EventArgs e)
{
tabControl1.SelectTab(0);
}
private void ашерToolStripMenuItem_Click(object sender, EventArgs e)
{
tabControl1.SelectTab(1);
}
private void о_программеToolStripMenuItem_Click(object sender, EventArgs e)
{
AboutBox1 box = new AboutBox1();
box.Show();
}
}
}