Кодирование текста с одного файла и запись в другой - C (СИ)
Формулировка задачи:
Здравствуйте!... Написал программу, которая должна брать текст в документе "1.txt", кодировать его и записывать в документ "2.txt". Всё работает, но кодирует как-то не правильно. Надо чтобы символ шифруемого текста смещался на 3 позиции в алфавите. Вот пример программы:
В документе "1.txt" имеется имя "Andrey". Соответственно в документе "2.txt" должно быть следующее: "dqguhb", но программа кодирует так, что получается: "efghi:"... Может кто знает где ошибка в коде, убедительная просьба, сообщите, пожалуйста! =)
#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;
}Решение задачи: «Кодирование текста с одного файла и запись в другой»
textual
Листинг программы
cout << q << endl;