Блог IT для Windows

Всё для Windows, софт, исходники

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

E-mail Печать PDF
(4 голоса, среднее 3.00 из 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;
}//конец
 

Комментарии  

 
+3 #1 Сергей 14.02.2016 11:50
Отличное решение, код помог при решении лабораторной работы.
:-)
Цитировать | Сообщить модератору
 

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


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

Экспорт RSS

feed-image RSS

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

Кто на сайте

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

Статистика

Яндекс.Метрика
Анализ веб сайтов

Поиск


Голосования

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

Наш опрос

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