Суть программы заключается в на другие символы. человек выбирает что ему сделать перевести "privet" в символы или наоборот. как сделать эту прогу через else. выбивает ошибки. т.е. должно сначала выходить 1) "что вы хотите сделать: перевести мое сообщение (нажмите 1) или перевести сообщение от меня(т.е. в обычный алфавит). 2)пользователь выбирает или 1 или 2(если 1 то из букв в символы иначе из символов в буквы) 3)пользователь вводит буквы или цифры и ему выдает переведенный результат. как сделать программу через else? она работает и так, но для того, чтобы выбрать первый вариант приходится вводить цифру 1 много раз. с цифрой 2 все в порядке. , отдаем практически все . var a1,a4, a5, a6, i : integer; var a3, a2, b1, b2, b3 : string; begin write ('hello! what do you want from me? it is that what i can: 1)translate message encrypted by me(enter 1) or encrypt message inputted by me(enter 2)'); readln (a2); if a2 = '2' then writeln('enter your message'); readln(a3); for i : = 1 to length(a3) do begin if a3[i]='a' then a3[i]: = '*'; if a3[i]='b' then a3[i]: = '+'; if a3[i]='c' then a3[i]: = '-'; if a3[i]='d' then a3[i]: = '='; if a3[i]='e' then a3[i]: = '! '; if a3[i]='f' then a3[i]: = '@'; if a3[i]='g' then a3[i]: = '#'; if a3[i]='h' then a3[i]: = '%'; if a3[i]='i' then a3[i]: = '& '; if a3[i]='g' then a3[i]: = ')'; if a3[i]='k' then a3[i]: = '('; if a3[i]='l' then a3[i]: = '`'; if a3[i]='m' then a3[i]: = '~'; if a3[i]='n' then a3[i]: = '^'; if a3[i]='o' then a3[i]: = '\'; if a3[i]='p' then a3[i]: = '/'; if a3[i]='q' then a3[i]: = '}'; if a3[i]='r' then a3[i]: = '{'; if a3[i]='s' then a3[i]: = ']'; if a3[i]='t' then a3[i]: = '['; if a3[i]='u' then a3[i]: = ': '; if a3[i]='v' then a3[i]: = '; '; if a3[i]='w' then a3[i]: = '> '; if a3[i]='y' then a3[i]: = '< '; if a3[i]='z' then a3[i]: = '? '; if a3[i]=' ' then a3[i]: = ' '; if a3[i]='x' then a3[i]: = ','; if a3[i]='.' then a3[i]: = '.'; write(a3[i]); end; if a2 = '1' then writeln('enter my message'); readln(a3); for i : = 1 to length(a3) do begin if a3[i]='*' then a3[i]: = 'a'; if a3[i]='+' then a3[i]: = 'b'; if a3[i]='-' then a3[i]: = 'c'; if a3[i]='=' then a3[i]: = 'd'; if a3[i]='! ' then a3[i]: = 'e'; if a3[i]='@' then a3[i]: = 'f'; if a3[i]='#' then a3[i]: = 'g'; if a3[i]='%' then a3[i]: = 'h'; if a3[i]='& ' then a3[i]: = 'i'; if a3[i]=')' then a3[i]: = 'j'; if a3[i]='(' then a3[i]: = 'k'; if a3[i]='`' then a3[i]: = 'l'; if a3[i]='~' then a3[i]: = 'm'; if a3[i]='^' then a3[i]: = 'n'; if a3[i]='\' then a3[i]: = 'j'; if a3[i]='/' then a3[i]: = 'p'; if a3[i]='}' then a3[i]: = 'q'; if a3[i]='{' then a3[i]: = 'r'; if a3[i]=']' then a3[i]: = 's'; if a3[i]='[' then a3[i]: = 't'; if a3[i]=': ' then a3[i]: = 'u'; if a3[i]='; ' then a3[i]: = 'v'; if a3[i]='> ' then a3[i]: = 'w'; if a3[i]='< ' then a3[i]: = 'y'; if a3[i]='? ' then a3[i]: = 'z'; if a3[i]=' ' then a3[i]: = ' '; if a3[i]=',' then a3[i]: = 'x'; if a3[i]='.' then a3[i]: = '.'; write(a3[i]); end; end.

menoralle menoralle    2   14.09.2019 13:10    0

Ответы
komarrik komarrik  10.09.2020 08:52
Const 
s1=' x.';
s2='*[email protected]#%&)(`~^\/}{][:;><? ,.'; 
var a:string; c:char; i:integer;
begin 
Writeln ('Hello! What do you want from me? It is that what I can:');
writeln('1)translate message encrypted by me (enter 1) or encrypt message inputted by me (enter 2)');
readln (c); 
if c = '2' then 
 begin
 writeln('enter your message'); 
 readln(a); 
 for i := 1 to length(a) do 
  if pos(a[i],s1)>0 then a[i]:=s2[pos(a[i],s1)]
 end
else // if c = '1' then
 begin
 writeln('enter my message'); 
 readln(a);
 for i := 1 to length(a) do 
  if pos(a[i],s2)>0 then a[i]:=s1[pos(a[i],s2)]
 end;
writeln(a);
end.

Пример:
Hello! What do you want from me? It is that what I can:
1)translate message encrypted by me (enter 1) or encrypt message inputted by me (enter 2)
2
enter your message
privet
/{&;![
ПОКАЗАТЬ ОТВЕТЫ
HollywooD2016 HollywooD2016  10.09.2020 08:52
Вам нужно добавить begin (2 штуки) после  if и end закрывающий
Смотрите ссылку
http://rextester.com/WQJ56217
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика