как сделать так, чтобы зашифрованный текст можно было скопировать или создать .TXT файл с шифровкой внутри?
program shifrovanie;
var
v: real;
s: string;
i, k: integer;
begin
writeln(' Вибирите тип');
writeln(' 1-Шифрование');
writeln(' 2-Дешифрование');
readln(v);
if v = 1 then
begin
Writeln(' Шифрование');
Writeln(' Введите текст: ');
ReadLn(s);
k := length(s);
for i := 1 to k do
case s of
'а': s := '"';
'б': s := '!';
'в': s := '~';
'г': s := '`';
'д': s := '%';
'е': s := '&';
'ж': s := '*';
'з': s := '(';
'и': s := '[';
'Й': s := '1';
'к': s := '-';
'л': s := '=';
'м': s := '+';
'н': s := ':';
'о': s := '{';
'у': s := '/';
'щ': s := ']';
'ш': s := '\';
'ч': s := ';';
'ц': s := '?';
'х': s := '}';
'ы': s := '.';
'ф': s := '@';
'т': s := '>';
'с': s := '0';
'р': s := '|';
'п': s := '<';
'э': s := ')';
'ю': s := '№';
'я': s := '^';
' ': s := '_';
end;
end;
if v = 2 then
begin
Writeln(' Дешифрование');
Writeln(' Введите текст: ');
ReadLn(s);
k := length(s);
for i := 1 to k do
case s of
'"': s := 'а';
'!': s := 'б';
'~': s := 'в';
'`': s := 'г';
'%': s := 'д';
'&': s := 'е';
'*': s := 'ж';
'(': s := 'з';
'[': s := 'и';
'1': s := 'Й';
'-': s := 'к';
'=': s := 'л';
'+': s := 'м';
':': s := 'н';
'{': s := 'о';
'/': s := 'у';
']': s := 'щ';
'\': s := 'ш';
';': s := 'ч';
'?': s := 'ц';
'}': s := 'х';
'.': s := 'ы';
'@': s := 'ф';
'>': s := 'т';
'0': s := 'с';
'|': s := 'р';
'<': s := 'п';
')': s := 'э';
'№': s := 'ю';
'^': s := 'я';
'_': s := ' ';
end;
end;
Write(s);
end.
Другие языки программирования и технологии
Помогите с прогой на PascalABC
Курить в букваре по Паскалю тему работы с файлами…
Но, прежде, чем начать работать с файлами, прочитай про массивы, константы и процедуры.
Твой код легко переделывается вот в такой:
const
C = 'а"б! в~г`д%е&ж*з (и [й1к-л=м+н: о{у/щ] ш\ч; ц? х}ы. ф@т>с0р|п<э) ю№я^ _';
function Code(S : String) : String;
var
N, P : Integer;
begin
Result := S;
for N := 1 to Result.Length do
begin
P := Pos(Result[N], C);
if (P > 0) and Odd(P) then
Result[N] := C[P + 1];
end;
end;
function Decode(S : String) : String;
var
N, P : Integer;
begin
Result := S;
for N := 1 to Result.Length do
begin
P := Pos(Result[N], C);
if (P > 1) and Not Odd(P) then
Result[N] := C[P - 1];
end;
end;
var
S, V : String;
begin
repeat
writeln(' Введите тип операции: ');
writeln(' 1 - шифрование');
writeln(' 2 - дешифрование');
WriteLn(' 0 - выход');
ReadLn(V);
if V = '1' then
begin
WriteLn(' Шифрование');
Writeln(' Введите текст: '); ReadLn(S);
WriteLn(' Результат: ', Code(S));
end;
if V = '2' then
begin
WriteLn(' Дешифрование');
Writeln(' Введите текст: '); ReadLn(S);
WriteLn(' Результат: ', Decode(S));
end;
until V = '0';
WriteLn('Работа программы завершена. ');
end.
А вот и результат работы:
Введите тип операции:
1 - шифрование
2 - дешифрование
0 - выход
1
Шифрование
Введите текст:
Приветствую тебя, о Пяточёк!
Результат: П|[~&>0>~/№_>&!^,_{_П^>{;ё-!
Введите тип операции:
1 - шифрование
2 - дешифрование
0 - выход
2
Дешифрование
Введите текст:
П|[~&>0>~/№_>&!^,_{_П^>{;ё-!
Результат: Приветствую тебя, о Пяточёкб
Введите тип операции:
1 - шифрование
2 - дешифрование
0 - выход
0
Работа программы завершена.
Но, прежде, чем начать работать с файлами, прочитай про массивы, константы и процедуры.
Твой код легко переделывается вот в такой:
const
C = 'а"б! в~г`д%е&ж*з (и [й1к-л=м+н: о{у/щ] ш\ч; ц? х}ы. ф@т>с0р|п<э) ю№я^ _';
function Code(S : String) : String;
var
N, P : Integer;
begin
Result := S;
for N := 1 to Result.Length do
begin
P := Pos(Result[N], C);
if (P > 0) and Odd(P) then
Result[N] := C[P + 1];
end;
end;
function Decode(S : String) : String;
var
N, P : Integer;
begin
Result := S;
for N := 1 to Result.Length do
begin
P := Pos(Result[N], C);
if (P > 1) and Not Odd(P) then
Result[N] := C[P - 1];
end;
end;
var
S, V : String;
begin
repeat
writeln(' Введите тип операции: ');
writeln(' 1 - шифрование');
writeln(' 2 - дешифрование');
WriteLn(' 0 - выход');
ReadLn(V);
if V = '1' then
begin
WriteLn(' Шифрование');
Writeln(' Введите текст: '); ReadLn(S);
WriteLn(' Результат: ', Code(S));
end;
if V = '2' then
begin
WriteLn(' Дешифрование');
Writeln(' Введите текст: '); ReadLn(S);
WriteLn(' Результат: ', Decode(S));
end;
until V = '0';
WriteLn('Работа программы завершена. ');
end.
А вот и результат работы:
Введите тип операции:
1 - шифрование
2 - дешифрование
0 - выход
1
Шифрование
Введите текст:
Приветствую тебя, о Пяточёк!
Результат: П|[~&>0>~/№_>&!^,_{_П^>{;ё-!
Введите тип операции:
1 - шифрование
2 - дешифрование
0 - выход
2
Дешифрование
Введите текст:
П|[~&>0>~/№_>&!^,_{_П^>{;ё-!
Результат: Приветствую тебя, о Пяточёкб
Введите тип операции:
1 - шифрование
2 - дешифрование
0 - выход
0
Работа программы завершена.
Запустить в командной строке как shifrovanie.exe > myfile.txt
Но так жутко написанный код, как этот, отыскать трудно...
Но так жутко написанный код, как этот, отыскать трудно...
Добавь в var
FileName, temp :string;
f: text
Добавь сразу после begin:
Temp = '';
writeln('Введите имя файла');
readln(FileName);
Assign(f, FileName);
Reset(f);
Вместо ReadLn(s); нужно ReadLn(f,s);
Вместо Write(s); нужно
close(f);
rewrite(f);
Temp = Temp+s;
write(f,Temp);
close(f);
FileName, temp :string;
f: text
Добавь сразу после begin:
Temp = '';
writeln('Введите имя файла');
readln(FileName);
Assign(f, FileName);
Reset(f);
Вместо ReadLn(s); нужно ReadLn(f,s);
Вместо Write(s); нужно
close(f);
rewrite(f);
Temp = Temp+s;
write(f,Temp);
close(f);
Обязательно все в один файл? Было бы проще в два. Но если уже необходимо в один, то можно указать в файле поля шифровки и самого кода.. .
К примеру: <key>указываешь кодировку</key> <text>указываешь свой текст</text>.
Но это все мелочи, так- как программа у тебя совершенно ничего не будет выполнять. Просто пройдет по циклу и всё.
К примеру: <key>указываешь кодировку</key> <text>указываешь свой текст</text>.
Но это все мелочи, так- как программа у тебя совершенно ничего не будет выполнять. Просто пройдет по циклу и всё.
Похожие вопросы
- Помогите с задачей по PascalABC!
- Помогите с задачей по PascalABC.
- Помогите с заданием по PascalABC
- помогите составить прогу в паскале
- Помогите написать прогу!!!
- помогите с прогой в с++
- Помогите написать прогу на Паскале, экзамен горит, очень нужно..
- помогите найти прогу
- Помогите выбрать прогу, очень нужно!!!
- Помогите написать прогу на паскале