Преобразования информации перед передачей её в канал связи
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
y2=12
win[1].y2=23
win[0].py=1
win[1].px=1
win[0].px=1
win[1].py=1
win[0].tc=LIGHTBLUE
win[1].tc=LIGHTBLUE
win[0].tb=BLUE
win[1].tb=BLUE
window(1,1,80,1)
textcolor(BLACK)
textbackground(WHITE)
clrscr()
_setcursortype(_NOCURSOR)
do
{
ch=getch()
if (ch==0) switch(getch())
{
координаты окна
цвета окна
позиция курсора
имя файла
активизировать рабочее окно и
установить курсор в текущую позицию
считать поз. курсора
проверка на принадлежность к
обрабатываемым символам
обнулить половину кода
разложить по битам
собрать биты в обратном порядке
восстановить половину кода
вернуть новый символ
создать рабочий экран
задать параметры рабочих окон
КомандаПояснениеcase 104 : fclose(in)
// Нажата ALT-F1
win[0].px=1
win[0].py=1
window(1,1,80,1)
textcolor(BLACK)
textbackground(WHITE)
clrscr()
printf(" Введите имя исходного файла : ")
_setcursortype(_NORMALCURSOR)
gets(win[0].fname)
_setcursortype(_NOCURSOR)
window(1,2,80,12)
clrscr()
for(i=1
i<=880
i++) putchar(176)
if((in=fopen(win[0].fname,"rt"))==NULL)
{
window(1,1,80,1)
textcolor(RED)
clrscr()
printf(" %cНемогу открыть файл - %s - !!!",7,&win[0].fname)
} else
{
textcolor(RED)
textbackground(WHITE)
window(39-strlen(win[0].fname)/2,2,41+strlen(win[0].fname)/2,2)
clrscr()
printf(" %s",&win[0].fname)
SetWin(&win[0])
clrscr()
while(!feof(in))
{
c=fgetc(in)
if(c!=\n) putch(c)
else {
if (wherey()==10) break
cprintf("\n\r")
}
}
} break
case 105 : fclose(out)
win[1].px=1
win[1].py=1
window(1,1,80,1)
textcolor(BLACK)
textbackground(WHITE)
clrscr()
printf(" Введите имя конечного файла : ")
_setcursortype(_NORMALCURSOR)
gets(win[1].fname)
_setcursortype(_NOCURSOR)
window(1,13,80,23)
clrscr()
for(i=1
i<=880
i++) putchar(176)
if((out=fopen(win[1].fname,"wt"))==NULL)
{
window(1,1,80,1)
textcolor(RED)
clrscr()
printf("%c Немогу создать файл - %s - !!!",7,&win[1].fname)
} else
{
textcolor(RED)
textbackground(WHITE)
window(39-strlen(win[1].fname)/2,13,41+strlen(win[1].fname)/2,13)
clrscr()
printf(" %s",&win[1].fname)
SetWin(&win[1])
clrscr()
} break
case 106 : if((in!=NULL)&(out!=NULL))
{
c=0
i=0
SetWin(&win[0])
clrscr()
GetWin(&win[0])
SetWin(&win[1])
clrscr()
GetWin(&win[1])
fseek(in,0,0)
fseek(out,0,0)
while(!feof(in))
Нажата ALT-F2
ALT-F3
КомандаПояснение{
ch=fgetc(in)
SetWin(&win[0])
if (ch!=\n) putch(ch)
else cprintf("\n\r")
GetWin(&win[0])
ch=perest(ch)
SetWin(&win[1])
if (ch!=\n) putch(ch)
else cprintf("\n\r")
GetWin(&win[1])
c^=ch
i++
fputc(ch,out)
if (i==3)
{
SetWin(&win[1])
if (c!=\n) putch(c)
else cprintf("\n\r")
GetWin(&win[1])
fputc(c,out)
c=0
i=0
}
}
} break
case 107 : if((in!=NULL)&(out!=NULL))
{
ch=0
i=0
SetWin(&win[0])
clrscr()
GetWin(&win[0])
SetWin(&win[1])
clrscr()
GetWin(&win[1])
fseek(in,0,0)
fseek(out,0,0)
while(!feof(in))
if (i!=3)
{
c=fgetc(in)
SetWin(&win[0])
if (c!=\n) putch(c)
else cprintf("\n\r")
GetWin(&win[0])
ch^=c
i++
c=perest(c)
SetWin(&win[1])
if (c!=\n) putch(c)
else cprintf("\n\r")
GetWin(&win[1])
fputc(c,out)
} else
{
c=fgetc(in)
SetWin(&win[0])
if (c!=\n) putch(c)
else cprintf("\n\r")
GetWin(&win[0])
if (c==ch)
{
ch=0
i=0
} else
{
textcolor(RED)
textbackground(WHITE)
window(1,1,80,1)
clrscr()
printf(" %cОшибка в файле %s",7,&win[0].fname)
break
}
}
} break
}
}
while(ch!=27)
fcloseall()
textcolor(WHITE)
textbackground(BLACK)
window(1,1,80,25)
clrscr()
}
ALT-F4
выход, если нажат ESC
закрыть все файлы
очистить экран
ПРИЛОЖЕНИЕ В
РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ
Введите имя конечного файла : zzz
____________________________________ file _____________________________________
_Проверка программы преобразования информации_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_____________________________________ zzz ______________________________________
_Про-верчка *просграуммыы прoеобкразчовамнияъ ин%форкмацъии__ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
________________________________________________________________________________
ALT-F1 Исходн.файл ALT-F2 Конечн.файл ALT-F3 Кодир. ALT-F4 Декодир. ESC-Выход
Для подготовки данной работы были использованы материалы с сайта