fun_alphabet ();// Виклик функції створення алфавіту
fun_chipher ();// Виклик функції генерації випадкового алфавітаoutput;// Створення змінної для запису у файл
output.open ( Code.txt raquo ;, ios :: out);// Створення і відкриття вихідного файлу (! Output) {}//Перевірка успішності створення файлу
char letter;// Поточна прочитана буква
for (i=0; i lt; n; i ++)//Процес зашіфровиванія і запису зашифрованого//тексту в файл
{
letter=Text [i];
if (! isalpha (letter)) {// Перевірка показує, чи є поточний
//символ буквою
output lt; lt; letter;//Якщо символ не є буквою, то він
//записується без змін
}
else {// Якщо ж символ є буквою, то знаходиться його індекс і замінюється
//на букву відповідну даному індексом в зашифрованому алфавіті
for (j=0; j lt; 26; j ++) {(Alphabet [j] == letter) { lt; lt; Chipher [j];
}}}}} formul ()
{
input.open ( CODE.txt raquo ;, ios :: in);// Відкриття зашифрованого тексту для читання
float HC;// Результат Індексу збігів
int N;// Число символів в зашифрованому тексті
for (A= A raquo ;; A lt;= Z raquo ;; A ++) {// Визначення числа появ кожної букви
for (i=0; i lt; N; i ++) {(Code [i] == A) f [j] ++;} ++;
}
for (i=0; i lt; 26; i ++) {// Обчислення результату по заданій формулі
if (f [i] gt; 1)=Sum + (double (f [i] * (f [i] - 1))/double (N * (N - 1)));
}
} fun_alphabet ()
{letter;// поточна буква.open ( Key.txt raquo ;, ios :: out);// Створення файлу для розшифровки
for (letter= A raquo ;, i=0; letter lt;= Z raquo ;; letter ++, i ++)//Запис алфавіту
{Alphabet [i]=letter; lt; lt; letter;}
} fun_chipher ()
{. open ( Key.txt raquo ;, ios :: app);// Додавання випадкового алфавіту до//ключу
srand (time (0));//Функція ініціалізацію генератора випадкових чисел rand
for (i=0; i lt; 26;) {}//Повна генерація алфавіту=0;//Прапор перевірки генерації числа до теперішнього моменту=(rand ()% 26);//Генерація випадкового числа від 0-25
for (j=0; j lt; 26; j ++) {// Якщо дана буква вже генерировалась то генератор
//запускається заново
if (A [j] == n) f=1;
} (f == 0) {[i]=n; [i]=Alphabet [n];
file lt; lt; Chipher [i]; ++;
}
}
Повний текст програми можна побачити в Додатку
. Тестування
Тестування даного програмного забезпечення здійснювалася на пристрої з наступними характеристиками:
ОС: Windows 7 (SP1) 32 bit
Процесор: Intel Dual-Core з частотою 2.5 ГГц
ОЗУ: 3 ГБ
Тестування в цілому пройшло успішно. Ніяких перебоїв і помилок у процесі тестування виявлено не було.
Далі представлено опис роботи програми зі скріншотами про хід виконання роботи
При запуску програми на екран виводиться меню, що складається з чотирьох пунктів. (Мал. 1)
Рис 1. Головне меню програми
Програма надає можливість вільної навігації і вибір в меню необхідного в даний момент пункту. Навігація здійснюється за допомогою натискання клавіш «W» - вгору і «S» - вниз. Клавіша «Enter» відповідає за вибір пункту, на якому зараз знаходиться курсор. Вийти з меню можна не тільки вибравши відповідний пункт, але і натиснувши клавішу «Esc».
Для початку виберемо перший пункт, а саме «Читання даних з файлу». У результаті всіх дій з файлу Text.txt прочитається текст (рис. 2)
Рис 2. Оригінальний текст
У разі якщо файл не буде існувати, або просто названий не правильно буде виведено повідомлення про помилку (рис. 3)
Рис 3. Повідомлення про помилку
Після натискання клавіші програма завершить свою роботу
У разі успішного читання тексту з файлу виводиться вікно про закінчення процесу (рис. 4), при цьому в оперативну па...