Логотип Автор24реферат
Задать вопрос
Курсовая работа на тему: Результаты работы программы
100%
Уникальность
Аа
7206 символов
Категория
Программирование
Курсовая работа

Результаты работы программы

Результаты работы программы .doc

Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод Эмоджи на новый заказ в Автор24. Это бесплатно.

При запуске программы в главном окне отображаются поля (Рисунок 1): для ввода ключевого слова, для ввода сообщения и для ввода зашифрованного сообщения. Кнопки: зашифровать и расшифровать. Таблица Трисемуса.
Рисунок 1. Главное окно.
При вводе ключевого слова таблица сразу же обновляется (Рисунок 2).
Рисунок 2. Ввод ключевого слова.
Если ввести сообщение в соответствующее поле и нажать на кнопку «Зашифровать», в поле для ввода зашифрованного сообщения появится шифр введенного сообщения (Рисунок 3).
Рисунок 3. Шифровка сообщения.
Если ввести зашифрованное сообщение в соответствующее поле и нажать на кнопку «Расшифровать», в поле для ввода сообщения появится расшифрованный текст сообщения (Рисунок 4).
Рисунок 4. Расшифровка сообщения.
Исходный код программы
Ниже представлен исходный код программы с комментариями.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Trisemus_Encryption
{
public partial class Crypt : Form
{
// исходный алфавит
private string alphabet = "абвгдежзийклмнопрстуфхцчшщъыьэюя .,";
// временный алфавит
private string tmp_alphabet;
// ключевое слово
private string keyword = "";
public Crypt()
{
InitializeComponent();
tmp_alphabet = alphabet;
// заполнение таблицы алфавитом
alphabetGridFill(keyword);
}
// функция шифровки
private string encrypt(string msg)
{
int size = msg.Length;
// заменяем все буквы на строчные
msg = msg.ToLower();
string result = "";
// проходим по сообщению
for (int k = 0; k size; k++)
for (int i = 0; i 5; i++)
for (int j = 0; j 7; j++)
// если символ из сообщения совпадает с символом из таблицы
if (alphabetGrid.Rows[i].Cells[j].Value.ToString()[0] == msg[k])
{
// к результату добавляем символ ниже в том же столбце
if (i == 4)
result += alphabetGrid.Rows[0].Cells[j].Value.ToString();
else
result += alphabetGrid.Rows[i + 1].Cells[j].Value.ToString();
}
// возвращаем результат
return result;
}
// функция расшифровки
private string decrypt(string msg)
{
int size = msg.Length;
// заменяем все буквы на строчные
msg = msg.ToLower();
string result = "";
// проходим по сообщению
for (int k = 0; k size; k++)
for (int i = 0; i 5; i++)
for (int j = 0; j 7; j++)
// если символ из сообщения совпадает с символом из таблицы
if (alphabetGrid.Rows[i].Cells[j].Value.ToString()[0] == msg[k])
{
// к результату добавляем символ выше в том же столбце
if (i == 0)
result += alphabetGrid.Rows[4].Cells[j].Value.ToString();
else
result += alphabetGrid.Rows[i - 1].Cells[j].Value.ToString();
}
// возвращаем результат
return result;
}
// при нажатии на кнопку "Зашифровать"
private void encryptBtn_Click(object sender, EventArgs e)
{
// в поле шифра выводим результат функции шифровки
chiperBox.Text = encrypt(msgBox.Text);
}
// при нажатии на кнопку "Расшифровать"
private void decryptBtn_Click(object sender, EventArgs e)
{
// в поле шифра выводим результат функции расшифровки
msgBox.Text = decrypt(chiperBox.Text);
}
// функция удаления из строки одинаковых символов
private string getNewKeyword(string keyword)
{
string new_keyword = "";
// заменяем все буквы на строчные
keyword = keyword.ToLower();
// проходим по слову
for (int i = 0; i keyword.Length; i++)
{
// ищем индекс буквы в алфавите
int index = tmp_alphabet.IndexOf(keyword[i]);
if (index -1)
{
// если буква уникальная, добавляем
// её к результату
new_keyword += tmp_alphabet[index];
// удаляем из алфавита
tmp_alphabet = tmp_alphabet.Remove(index, 1);
}
}
// возвращаем получившееся слово
return new_keyword;
}
// функция заполнения таблицы
private void alphabetGridFill(string keyword)
{
// устанавливаем параметры таблицы
alphabetGrid.ColumnHeadersVisible = false;
alphabetGrid.RowHeadersVisible = false;
alphabetGrid.RowCount = 5;
alphabetGrid.ColumnCount = 7;
// счётчик символов
int counter = 0;
for (int i = 0; i 5; i++)
{
for (int j = 0; j 7; j++)
{
// заполняем пустышками
alphabetGrid.Rows[i].Cells[j].Value = "0";
// меняем размер ячеек
alphabetGrid.Rows[i].Height = 35;
alphabetGrid.Columns[j].Width = 35;
// пока в кл

Зарегистрируйся, чтобы продолжить изучение работы

50% курсовой работы недоступно для прочтения

Закажи написание курсовой работы по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!

Промокод действует 7 дней 🔥
Больше курсовых работ по программированию:

Разработка информационной системы для ведения автоматизированного учета налоговых платежей

23098 символов
Программирование
Курсовая работа
Уникальность

Базы данных (MS Access)

29181 символов
Программирование
Курсовая работа
Уникальность
Все Курсовые работы по программированию
Закажи курсовую работу

Наш проект является банком работ по всем школьным и студенческим предметам. Если вы не хотите тратить время на написание работ по ненужным предметам или ищете шаблон для своей работы — он есть у нас.