Другие языки программирования и технологии

Вопросик по Pascal. Есть переменные A,B,C,D. Как сделать так, чтобы при вводе A выводилось цифра 1, B - 2, C-3, D-4?

Хоть вопрос не совсем понятен, может быть так:
program ABCD;
var
buf:string;
begin
readln(buf);
if buf='A' then
writeln('1');
if buf='B' then
writeln('2');
if buf='C' then
writeln('3');
if buf='D' then
writeln('4');
readln;
end;
..
.:::.ruslan .:::.
11 528
Лучший ответ
Вячеслав Хомяков Вы правильно поняли. Спасибо.

P.S. что означает buf:string;?
Есть такая функция Ord(), которая возвращает порядковый номер в типе. А программка будет такой для символов латиницы в верхнем регистре.

var
Ch : Char;
begin
ReadLn(Ch);
WriteLn(Ord(Ch) - Ord('A') + 1);
ReadLn;
end.

И не надо никаких if, case и прочего не нужного в данном конкретном случае ("чтобы при вводе A выводилось цифра 1, B - 2, C-3, D-4").
Юрий Пономарев
Юрий Пономарев
59 613
readln(letter) //считываем букву, можно заменить на readkey()
case letter of //выбор случая)
'A' : writeln('1');
'B' : writeln('2');
....//по принципу строк выше создаем столько, сколько надо
else выражение; //если вдруг введено что-то другое
end;
Sexavet Meherremov
Sexavet Meherremov
5 541
я так понимаю что вместо содержимого переменных должны писаться символы 1,2...
а распознование должно идти в тексте.
извените если напишу с ошибками т. к. могу путать операторы С и паскаля т. к. уже несколько лет на паскале не писал... .
programm abcde;
var
a,b,c,d:char
key:char;
begin
{здесь идёт инициализация значений ABCD может это константы может с клавиатуры вводятся это не важно думаю сам оформишь}
key=getch();
while(key!='\n') do
begin
if key=A then write(1);
else if key=B then write(2);
else if key=C then write(3)
{ и так далее может "каскад" условий не правильно оформил лучше вообще case использовать времени переписывать нету}
else write(key);
key=getch();
end;
readln;
end.
при вводе с клавиатуры текста программа выписывает все символы которые нажимал пользователь но если видит символы в ABCD то заменяет их на 1234.
Программа читает пока не введён ентер в С++ это \n а вот что в паскале ентер я не помню.
writeln('введите А');
readln(A);
A:=1

ну и так далее для всех букв
Вячеслав Хомяков Дело в том, что переменная вводится наугад

Похожие вопросы