Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
1

Как осуществить бесконечный ввод

30.12.2013, 15:14. Просмотров 1411. Ответов 8
Метки нет (Все метки)

Написал программу которая узнает внутренний код элемента и наоборот.
Смысл программы:
вводишь число/символ он показывает код/символ, типа 16 = ►
Так вот, она все выполняет, но после ввода->показа ждет нажатия любой клавиши и закрывается. Из-за этого приходится запускать ее заново, чтобы посмотреть еще.
Вопрос:
Как сделать чтобы можно было проверять много символов? (он также в названии темы)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 15:14
Ответы с готовыми решениями:

Ошибка в коде, идет бесконечный ввод данных
program Project1; uses crt; const zodiak:array of string = ('Vodoley...

Осуществить ввод данных в массив
Ввести массив A и число P . Для каждого элемента массива вычислить функцию B=...

Осуществить ввод элементов заданного множества с клавиатуры
Осуществить ввод элементов заданного множества с клавиатуры.Определить является...

Найти стороны треугольника. Ввод данных и вывод результата осуществить с помощью файлов
Треугольник задан величинами своих углов и радиусом описанной окружности. Найти...

Множества. Осуществить ввод элементов двух множеств и проверить, принадлежат ли элементы их пересечению
осуществить ввод элементов двух заданных множеств с клавиатуры и проверить...

8
Joker_vad
Эксперт 1С
472 / 410 / 92
Регистрация: 26.09.2012
Сообщений: 1,830
30.12.2013, 15:19 2
делай в цикле , выход из цикла по нажатию клавиши ESC

Добавлено через 1 минуту
Pascal
1
2
3
4
5
6
var c:char;
begin
repeat
.....сам код....
c:=readkey;
until c<>#27
1
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
30.12.2013, 15:24  [ТС] 3
Цитата Сообщение от Joker_vad Посмотреть сообщение
делай в цикле , выход из цикла по нажатию клавиши ESC

Добавлено через 1 минуту
Pascal
1
2
3
4
5
6
var c:char;
begin
repeat
.....сам код....
c:=readkey;
until c<>#27
спс помогло!
0
Puporev
Модератор
56119 / 42980 / 29730
Регистрация: 18.05.2008
Сообщений: 102,009
30.12.2013, 15:24 4
Например так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
uses crt;
var k:integer;
begin
clrscr;
repeat
writeln('Вводите коды символов от 0 до 255, окончание ввода 0');
repeat
readln(k);
until k in [0..255];
if k>0 then writeln(chr(k));
until k=0;
end.
1
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
30.12.2013, 15:39  [ТС] 5
действительно, ваш вариант логичнее и удобнее, но в книге я пока не дошел до этого, поэтому использую то что есть. Пробую то что написали выше пишет, выдает ошибку "unknown identifer" хотя я описываю в начале. Вот код:
я про ответ от Joker_vad - он не пашет
0
Миниатюры
Как осуществить бесконечный ввод  
Puporev
Модератор
56119 / 42980 / 29730
Регистрация: 18.05.2008
Сообщений: 102,009
30.12.2013, 15:46 6
После else часть кода тоже нужно заключить в операторные скобки begin... end;

Добавлено через 2 минуты
Кстати код не нужно выкладывать скрином, его нельзя копировать и редактировать. Нужно выкладывать просто копию файла .pas из текстового редактора.
1
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
30.12.2013, 16:10  [ТС] 7
Цитата Сообщение от Puporev Посмотреть сообщение
После else часть кода тоже нужно заключить в операторные скобки begin... end;

Добавлено через 2 минуты
Кстати код не нужно выкладывать скрином, его нельзя копировать и редактировать. Нужно выкладывать просто копию файла .pas из текстового редактора.
смысл понял, но на практике все равно выдает ту же ошибку. Вот код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program fgdsgf;
 var
a:integer;
b,c,d:char;
 begin
d:=readkey;
writeln('4islo v simvol?  y/n');
readln(c);
 if c = 'y' then begin
writeln('Vvedi 4islo:');
readln(a);
writeln(a, ' = ',chr(a));
end
else
begin
writeln('Vvedi simvol:');
readln(b);
writeln(b, ' = ',ord(b));
end;
repeat
until d<>#27
 end.
Наверно нужно изменить расстановку этих команд, но попытки ни к чему не приводят. Операторные скобки добавил.
0
Puporev
Модератор
56119 / 42980 / 29730
Регистрация: 18.05.2008
Сообщений: 102,009
30.12.2013, 17:20 8
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
program fgdsgf;
uses crt;
var a:integer;
    b,c,d:char;
begin
clrscr;
repeat
writeln('4islo v simvol? Vyhod Esc.  y/n');
repeat
c:=readkey;
if c<>#27 then writeln(c);
until c in ['y','n',#27];
if c = 'y' then
 begin
  repeat
  writeln('Vvedi 4islo:');
  readln(a);
  until a in [0..255];
  writeln(a, ' = ',chr(a));
 end
else if c='n' then
 begin
  writeln('Vvedi simvol:');
  readln(b);
  writeln(b, ' = ',ord(b));
 end
else if c=#27 then exit
until c=#27
end.
1
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
30.12.2013, 18:15  [ТС] 9
огромное спасибо, принцип понятен
0
30.12.2013, 18:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2013, 18:15

Как остановить бесконечный цикл?!
Написал программу, ошибся, и она запустила бесконечный цикл. На что нажать (на...

Подскажите как сюда впарить бесконечный цикл?
program Caesar; const n=3; function asc2(toCode:string):string; var...

Как осуществить дозапись элементов в массив
Добрый вечер. Ребят, помогите мне с задачей. Мне в задании сказано, чтобы я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru