Блог IT для Windows

Все про Windows, программное обеспечение, информационную безопасность, программирование

Программа Шифрование кодом Цезаря на С++

E-mail Печать PDF
(20 голоса, среднее 3.95 из 5)

Разрабатываемая программа была написана в среде Borland C++ 3.1. Данная программа шифрует и дешифрует введённый текст шифром Цезаря. Он представляет простую подстановку, в которой каждый символ сообщения сдвигается вперёд на фиксированное число мест (Ключ). Шагом ключа в данной программе будет диапазон от 0 до 10.

Пример работы программы

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

Листинг программы:

/*Программа шифрования кодом Цезаря*/
#include <stdio.h>//необходимо для printf
#include <conio.h>//необходимо для getch
#include <string.h>//необходимо для puts
int main()
{
/*инициализируем переменные*/
int i=0, n=0, k;
int d;
char alf[] = "abcedfghijklmnopqrstuvwxyz0123456789#!@$%^&*-+=";//словарь
char buf[10];//массив для ввода сообщения
char decod[10];//массив для ввода сообщения
/*вывод названия программы*/
printf("\nBorland C++ 3.1");
printf("\nProgramma shifrovanija kodom Tsezarja\n");
/*Процедура шифрования ввод*/
printf("\n***Shifrovanie***");
printf("\nVvedite slovo ili tsifrj :");
scanf("%s",&buf);//ввод слова или цифр
printf("\nVvedite tzifrovoj cluch, (shag ot 1 do 10):  ");
scanf("%i",&k);//вводим ключ
for (n=0; n < 10; n++)
{
for (i = 0; i < 47; i++)
{
if (buf[n] == alf[i])
{
if (i >= 47)
buf[n] = alf[i-47];
else
buf[n] = alf[i+k];//сдвигаем вправо на показания шага ключа
break;//принудительно выходим из цикла
}
}
}
printf("\nVash shefr= %s\n", buf);//выводим полученный шифр
/*Процедура дешифрования ввод*/
printf("\n--Deshifrovanie---\n");
printf("\nVvedite vash shifr : ");
scanf("%s",&decod);//вводим шифр
printf("\nVvedite tzifrovoj cluch, (shag ot 1 do 10): ");
scanf("%i",&d);//вводим ключ
for (n=0; n < 10; n++)
{
for (i = 0; i < 47; i++)
{
if (decod[n] == alf[i])
{
if (i >= 47)
decod[n] = alf[i-47];
else
decod[n] = alf[i-d];//сдвигаем влево на показания шага ключа
break;//принудительно выходим из цикла
}
}
}
printf("\nShefr= ");
puts (decod);//выводим код
getch();//задержка программы
return 0;
}//конец


 

Комментарии  

 
+9 #1 Сергей 14.02.2016 11:50
Отличное решение, код помог при решении лабораторной работы.
:-)
Цитировать | Сообщить модератору
 
 
+6 #2 Олег 04.03.2019 00:08
Спасибо за код!!!
Цитировать | Сообщить модератору
 
 
+1 #3 Артем 30.10.2019 20:17
Все работает ОК!!!
Цитировать | Сообщить модератору
 
 
0 #4 Connon 03.11.2019 04:41
А как это реализовать на MS Visal C++?
Цитировать | Сообщить модератору
 
 
-1 #5 Али 01.04.2022 10:15
Спасибо вам большое
Цитировать | Сообщить модератору
 
 
-1 #6 AntonioMamic 17.05.2022 15:09
Спасибо!!!!
Цитировать | Сообщить модератору
 

Добавить комментарий


Защитный код
Обновить

Праздники и история IT

Кто на сайте

Сейчас 14 гостей онлайн

Статистика

Яндекс.Метрика

Экспорт RSS

feed-image RSS

Поиск по сайту

Голосования

Какой операционной системой вы пользуетесь
 
Каким антивирусом вы пользуетесь
 

Мы в Яндекс.Дзен

Блог IT

Мы Вконтакте


Форум программистов и сисадминов Киберфорум