Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

вівторок, 9 травня 2017 р.

Програма "Шифратор повідомлень"

Усі ми стикаємось з різними повідомленнями. Деякі з них важливі, а деякі можна хоч на цілий світ показати. Наша мета полягає у тому, щоб розробити програму, яка буде зашифровувати повідомлення і відображати їх в текстовий документ...
Ця програма матиме ось такий вигляд:




Почнемо!!!

Запускаємо Visual Studio, налаштовуємо. Після чого заходимо через Solution Explorer у ProgramDlg.h. В кінці коду пишемо:



private:
HPEN hPenOxy, hOldPen; HFONT hold, hNew, hbk; HBRUSH m, oldm; COLORREF cf, ck, c[25];
CPen d, oldd; CBitmap pic; CRect rc, w, kw[12];
CString ms, t, z;
 
int x1, y1, x2, y2, x3, y3, x4, y4;
int Matrix[50][50];
int RH, RW, k, i, j, cx, cy, dx, dy;
bool fg;



Потім через ResoursView відкриваємо діалогову планшетку натискаємо на Toggle Grid і вставляємо на ній Toolbox, Static Text, Edit Control, Button (пишемо на ньому "Зашифровать"), Button(пишемо на ньому "Выход")



Додаємо в  Static Text (control) "Е".
Додаємо в Edit Control (value) "Z".

Вписуємо в блок DoDataExchange

E.SetWindowTextW(L"Введите фразу и нажмите <Зашифровать>:");
SetWindowTextW(L"Программа шифрования"); в блок DoDataExchange.

Через налаштування клавіш (Button) натискаємо  Add Event Handler

В коді для клавіші "Зашифровать" вписуємо:

UpdateData(true); ms = Z; UpdateData(false); //переносим данные из планшетки в переменую shf = "\tТаблица кодирования:\n\n\t"; //записываем в переменную слова n = ms.GetLength(); //считаем количество символов в переменной ms t.Empty(); //опусташаем переменную "т" A[0] = ' '; B[0] = 0; A[65] = '.';  B[65] = 65; //запысываем в переменные числа и знаки for (k = 1; k < 65; k++) {  A[k] = wchar_t(k + 1039);  B[k] = k; } //создаём счетчик и записываем для каждой переменной букву j = 0; for (k = 0; k < 8; k++) {  for (i = 0; i < 8; i++)  {   shf += "\"";   shf += A[j];   shf += "\"=";   t.Format(L"%i\t", B[j]);   if ((B[j] >= 0) && (B[j] < 10))   {    t.Format(L"0%i\t", B[j]);   }   shf += t;   j++;  }  shf += "\n\t"; } //блок по написанию нуля перед х; 0<=x<10 shf += "\""; shf += A[64]; shf += "\"="; t.Format(L"%i\t", B[j]); shf += t; j++; shf += "\""; shf += A[65]; shf += "\"="; t.Format(L"%i\n\n\t", B[j]); shf += t;

shf += "Результат шифрования: \n\t";
CString shf1; shf1.Empty();
for (k = 0; k <n; k++) {  for (i = 0; i < 66; i++)  {   if (ms[k] == A[i])   {    t.Format(L"%i", B[i]);    if ((B[i] >= 0)&&(B[i]<10))    {     t.Format(L"0%i", B[i]);    }    shf += t;    shf1 += t;   
   }  } }




E.SetWindowTextW(shf); //выводит на экран шифр setlocale(LC_ALL, "Russian"); CStdioFile inf(L"D:\\TEMP\\data.txt", CFile::modeCreate | CFile::modeWrite); inf.WriteString(shf1); // записать в файл inf.Flush(); inf.Close(); //процедура, записывающая результат в data.txt


В коді для клавіші "Выход" вписуємо:



OnOK();


Запустивши програму ми зможемо писати будь - які зашифровані повідомлення.



Дякую за увагу!!!



Немає коментарів:

Дописати коментар