Алгоритм:
Вывод 'x['
ввод пользователем числа
вывод _в ту же строку_ ']='
ввод другого числа
Write('X['); read(im); Write(']='); read(chm); ---душевно реагирует на enter, разбивая строку надвое, а я огорчаюсь :с
Есть идеи? ASCII не помогает.
Другие языки программирования и технологии
Pascal. Write/read and etc
Возврат курсора в позицию после введённого первого числа:
program N75661260;
uses crt;
var
ims: string;
im, chm, e, x, y: integer;
c: char;
begin
write('X[');
x := WhereX;
y := WhereY;
read(ims);
GotoXY(x + length(ims), y);
val(ims, im, e);
write(']=');
readln(chm);
writeln('im = ', im, 'chm = ':10, chm);
readkey
end.
Но этот вариант будет ломать "картинку", если ввод производится в самой нижней строке консоли.
Поэтому напрашивается простейший однострочный редактор:
program N75661260;
uses crt;
var
ims: string;
im, chm, e: integer;
c: char;
begin
write('X[');
ims := '';
repeat
c := readkey;
case c of
'0' .. '9': begin
ims := ims + c;
write(c)
end;
#08: if length(ims) > 0 then
begin
ims := copy(ims, 1, length(ims) - 1);
write(#8#32#8)
end
end
until c = chr(13);
val(ims, im, e);
write(']=');
readln(chm);
writeln('im = ', im, 'chm = ':10, chm);
readkey
end.
Этот редактор реагирует на клавиши цифр, Enter и Backspace.
По-хорошему, можно добавить реакцию на клавиши стрелок влево и вправо, Delete и Insert и добавить например блокировку клавиши Enter, если введённая строка не является корректным числом.
Получится полноценный однострочный редактор с проверкой ввода.
P.S. Обе программы будут работать лишь в тех реализациях, где есть модуль crt или аналогичный. Проверено в Turbo и Free Pascal. Для Delphi придётся искать модуль эквивалентный crt.

program N75661260;
uses crt;
var
ims: string;
im, chm, e, x, y: integer;
c: char;
begin
write('X[');
x := WhereX;
y := WhereY;
read(ims);
GotoXY(x + length(ims), y);
val(ims, im, e);
write(']=');
readln(chm);
writeln('im = ', im, 'chm = ':10, chm);
readkey
end.
Но этот вариант будет ломать "картинку", если ввод производится в самой нижней строке консоли.
Поэтому напрашивается простейший однострочный редактор:
program N75661260;
uses crt;
var
ims: string;
im, chm, e: integer;
c: char;
begin
write('X[');
ims := '';
repeat
c := readkey;
case c of
'0' .. '9': begin
ims := ims + c;
write(c)
end;
#08: if length(ims) > 0 then
begin
ims := copy(ims, 1, length(ims) - 1);
write(#8#32#8)
end
end
until c = chr(13);
val(ims, im, e);
write(']=');
readln(chm);
writeln('im = ', im, 'chm = ':10, chm);
readkey
end.
Этот редактор реагирует на клавиши цифр, Enter и Backspace.
По-хорошему, можно добавить реакцию на клавиши стрелок влево и вправо, Delete и Insert и добавить например блокировку клавиши Enter, если введённая строка не является корректным числом.
Получится полноценный однострочный редактор с проверкой ввода.
P.S. Обе программы будут работать лишь в тех реализациях, где есть модуль crt или аналогичный. Проверено в Turbo и Free Pascal. Для Delphi придётся искать модуль эквивалентный crt.

А по-русски можешь объяснить? Ничего не понятно.
Хотя подожди. Понял.
Тебе нужно использовать функцию getch().
char ch;
char im[256] = {""};
int l:=0;
Write('X[');
ch := getch();
while(ch <> Enter); {
im[l]:=ch;
inc(l);
ch := getch();
}
Write(']=');
Как то так. По памяти писал, поэтому могут быть ошибки.
Там где написано ch <> Enter тебе нужно проверить, что нажатый символ - не Энтер. Нужно проверять по ASCII коду.
Хотя подожди. Понял.
Тебе нужно использовать функцию getch().
char ch;
char im[256] = {""};
int l:=0;
Write('X[');
ch := getch();
while(ch <> Enter); {
im[l]:=ch;
inc(l);
ch := getch();
}
Write(']=');
Как то так. По памяти писал, поэтому могут быть ошибки.
Там где написано ch <> Enter тебе нужно проверить, что нажатый символ - не Энтер. Нужно проверять по ASCII коду.
Похожие вопросы
- pascal не выполняет команду read(h);
- Мне задали сделать задачу по Turbo Pascal, но я забыл что нужно писать в var и READ. подскажите пожалуйста.
- объясните пожалуйста тупому челу что означают операторы read и readln в pascal. Только прошу что бы понятно было.
- pascal or delphi
- Один вопрос по Pascal (или Object Pascal, или Delphi) (не надо ничего решать, просто один вопрос)
- Зачем изучают Pascal если есть Python?
- Программисты Python, Pascal или Scheme для обучения программированию?
- Pascal and Delphi
- Язык программирования Pascal сложен в изучении?
- Объясните пожалуйста, что означает эта строка WRITE('ВВЕДИTE ЭЛЕМЕНТ МАССИВА '); READLN(MAS[1])?