Кодирование текста с одного файла и запись в другой - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте!... Написал программу, которая должна брать текст в документе "1.txt", кодировать его и записывать в документ "2.txt". Всё работает, но кодирует как-то не правильно. Надо чтобы символ шифруемого текста смещался на 3 позиции в алфавите. Вот пример программы:
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
 
long filesize (FILE *stream);
int i=0;
int y=0;
int x=0;
int j=0;
int k=0;
int n=3;
 
int main (void)
{
clrscr();
long filesize(FILE *stream);
FILE *stream, *fout;
char alf[]="abcdefghijklmnopqrstuvwxyz";
char msg[99];
stream=fopen("1.txt","r");
fout=fopen("2.txt","w");
 
char pasOK[99];
i=0;
k=0;
while (!feof(stream))
 {
 msg[k]=fgetc(stream);
 cout<<msg[k];
 k++;
 }
n=3;
for(j=0; j<k-1;j++)
 {
 for(y=0;y<26;y++)
  {
  if(msg[j]==alf[y])
   {
   y=j+3;
   break;
   }
  }
  if(y>26)
  y=y-26;
  if(y<0)
  y=abs(y);
  pasOK[j]=alf[y];
 }
cout<<pasOK;
 
fwrite(pasOK,k,1,fout);
fclose(stream);
getch();
}
 
long filesize (FILE *stream)
{
long curpos, length;
curpos=ftell(stream);
fseek(stream, 0L, SEEK_SET);
length=ftell(stream);
fseek(stream, curpos,SEEK_SET);
return length;
}
В документе "1.txt" имеется имя "Andrey". Соответственно в документе "2.txt" должно быть следующее: "dqguhb", но программа кодирует так, что получается: "efghi:"... Может кто знает где ошибка в коде, убедительная просьба, сообщите, пожалуйста! =)

Решение задачи: «Кодирование текста с одного файла и запись в другой»

textual
Листинг программы
cout << q << endl;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.7 из 5
Похожие ответы