Хоть вопрос не совсем понятен, может быть так:
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;
Другие языки программирования и технологии
Вопросик по Pascal. Есть переменные A,B,C,D. Как сделать так, чтобы при вводе A выводилось цифра 1, B - 2, C-3, D-4?
Есть такая функция 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").
var
Ch : Char;
begin
ReadLn(Ch);
WriteLn(Ord(Ch) - Ord('A') + 1);
ReadLn;
end.
И не надо никаких if, case и прочего не нужного в данном конкретном случае ("чтобы при вводе A выводилось цифра 1, B - 2, C-3, D-4").
readln(letter) //считываем букву, можно заменить на readkey()
case letter of //выбор случая)
'A' : writeln('1');
'B' : writeln('2');
....//по принципу строк выше создаем столько, сколько надо
else выражение; //если вдруг введено что-то другое
end;
case letter of //выбор случая)
'A' : writeln('1');
'B' : writeln('2');
....//по принципу строк выше создаем столько, сколько надо
else выражение; //если вдруг введено что-то другое
end;
я так понимаю что вместо содержимого переменных должны писаться символы 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 а вот что в паскале ентер я не помню.
а распознование должно идти в тексте.
извените если напишу с ошибками т. к. могу путать операторы С и паскаля т. к. уже несколько лет на паскале не писал... .
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
ну и так далее для всех букв
readln(A);
A:=1
ну и так далее для всех букв
Вячеслав Хомяков
Дело в том, что переменная вводится наугад
Похожие вопросы
- Найти трехзначные числа a, b, c, все цифры которых различны и удовлетворяют уравнению a^2 – b^2 – c^2 = a – b – c.
- даны 3 разл целых числа a,b,c используя оператор GOTO составить программу для ввода чисел в порядке убывания
- Помогите написать программу на С++: Заданы отрезки a,b,c,d. Проверить, могут ли они служить сторонами прямоугольника
- С++ Арифметические действия над числами пронумерованы следующим образом : 1-сложение, 2-вычитание, 3-умножение, 4-дел...
- Оцениваем дизайн. 1 - Название 2 - Цвета 3 - Шрифты 4 - Картинка на фоне
- Информацию существенную и важную в настоящий момент называют:. 1-обьективной 2-полезной 3-достоверной 4-актуальной
- Паскаль! Даны векторы: a={xn}, b={yn}, c={zn}, d={dn}. Построить матрицу К, сторонами которой являются упорядочены в
- {(a,b), (c,b), (c,a)} - является транзитивным или нет?
- срочно помогите написать программу на ассемблере вычисляющую R. R=x2+y2, где x=a+b-c, y=b*c-a. a,b,c вводятся с клавы
- Какую функцию выполняют команды real и integer (var a,b,c:integer;) на Pascal ABC Net? И чем они отличаются?
P.S. что означает buf:string;?