Написать программу шифрования текста на Си - C (СИ)
Формулировка задачи:
Написать программу шифрования текста, которая читает содержимое из текстового файла input.txt и записывает результат в файл output.txt в соответствии с алгоритмом шифрования на Си
Буквы меняются следующим образом: "А"->"01", "Б"->"02", ... "Я"->"33"
Желательно с блок-схемой
Решение задачи: «Написать программу шифрования текста на Си»
textual
Листинг программы
#include <stdio.h>
void encryption();
int main()
{
encryption();
getchar();
}
void encryption()
{
const char* inputFileName = "input.txt";
const char* outputFileName = "output.txt";
char c;
int num;
FILE* input = fopen(inputFileName, "r");
if (NULL == input)
{
printf("Can't open the file %s.\n", inputFileName);
return;
}
FILE* output = fopen(outputFileName, "w");
if (NULL == output)
{
printf("Can't open the file %s.\n", outputFileName);
return;
}
while(!feof(input))
{
c = 0;
if (0 != fscanf(input, "%c", &c) && c!= 0)
fprintf(output, "%.2i ", (int)c-65);
}
}
Объяснение кода листинга программы
- Включаем библиотеку stdio.h
- Определяем функцию encryption()
- Создаем переменные:
— inputFileName =
input.txt— outputFileName =output.txt— c (булевая переменная для чтения символа из файла) — num (не используется в коде) - Открываем файл input.txt на чтение и output.txt на запись
- Проверяем, открылись ли файлы. Если нет, выводим сообщение об ошибке и возвращаем управление.
- Запускаем цикл while, который выполняется до тех пор, пока не достигнем конца файла (feof(input)).
- Внутри цикла:
— Присваиваем переменной c значение 0.
— Считываем символ из файла в переменную c с помощью fscanf(input,
%c, &c). — Проверяем, что символ не равен 0. — Если условие выполняется, выводим символ в файл output с помощью fprintf(output,%.2i, (int)c-65). - Закрываем файлы input и output.
- Возвращаем управление.