Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
TTETYX
1 / 1 / 1
Регистрация: 24.07.2017
Сообщений: 13
#1

Не работает код - Turbo Pascal

10.08.2017, 19:24. Просмотров 260. Ответов 3
Метки нет (Все метки)

Все запускается.Но не выводит число 4 и передвигается только вверх вниз
вот код
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
uses crt;
var
life:array [1..20,1..20] of integer;
CursorX,CursorY:integer;
CursorChar:char;
x,y:integer;
key:char;
procedure CursorDraw;
begin
textcolor(red);
gotoxy(CursorX,CursorY);
writeln(CursorChar);
end;
procedure CursorClear;
begin
textcolor(black);
gotoxy(CursorX,CursorY);
writeln(CursorChar);
end;
procedure CursorMove;
begin
if keypressed then
begin
key:=readkey;
CursorClear;
case key of
#75:
begin
CursorX:=CursorX-1;
end;
#77:
begin
CursorX:=CursorX+1;
end;
#72:
begin
dec(CursorY);
end;
#80:
begin
inc(CursorY);
end;
end;
end;
end;
begin
clrscr;
CursorX:=3;
CursorY:=3;
CursorChar:='4';
while key<>#27 do
CursorMove;
CursorDraw;
end.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2017, 19:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не работает код (Turbo Pascal):

Солнечная система - код не работает
Вот програмка солнечной системы но паскаль ругается на модуль Dos и на Port....

Неправильно работает код вычислений
Код Program z3; var x, u, e,uk:real; k:integer; function...

Исправить код и объяснить почему не работает
Почему норм не компилируется? если i сделать real, то норм? Program Add;...

Сформировать массив по правилу: код не работает
Дан двумерный массив A (n,n), разделяется диагоналями на 4 треугольника, что не...

Код работает неправильно (сложение дробей)
Есть задача:Даны две рациональные дроби: a/b и c/d. Сложите их и результат...

Один и тот же код работает по-разному
Составила программу, программа работает, выдаёт верное решение: var...

3
ФедосеевПавел
Модератор
3415 / 1912 / 815
Регистрация: 01.02.2015
Сообщений: 6,452
10.08.2017, 19:50 #2
Смотрите. Причина ошибки - неформатированный код. Если воспользоваться автоформаттером JCF (Jedi Code Format), то программа будет выглядеть
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
program test;
 
uses
  crt;
 
var
  life: array [1..20, 1..20] of integer;
  CursorX, CursorY: integer;
  CursorChar: char;
  x, y: integer;
  key:  char;
 
  procedure CursorDraw;
  begin
    textcolor(red);
    gotoxy(CursorX, CursorY);
    writeln(CursorChar);
  end;
 
  procedure CursorClear;
  begin
    textcolor(black);
    gotoxy(CursorX, CursorY);
    writeln(CursorChar);
  end;
 
  procedure CursorMove;
  begin
    if keypressed then
    begin
      key := readkey;
      CursorClear;
      case key of
        #75:
        begin
          CursorX := CursorX - 1;
        end;
        #77:
        begin
          CursorX := CursorX + 1;
        end;
        #72:
        begin
          Dec(CursorY);
        end;
        #80:
        begin
          Inc(CursorY);
        end;
      end;
    end;
  end;
 
begin
  clrscr;
  CursorX := 3;
  CursorY := 3;
  CursorChar := '4';
  while key <> #27 do
    CursorMove;
  CursorDraw;
end.
Видно, что ошибка в цикле получения о обработки команд.
1
Puporev
Модератор
54146 / 41779 / 28885
Регистрация: 18.05.2008
Сообщений: 98,327
10.08.2017, 20:11 #3
Лучший ответ Сообщение было отмечено TTETYX как решение

Решение

Основная ошибка
Pascal
1
2
3
4
5
while key<>#27 do
 begin
  CursorMove;
  CursorDraw;
 end;
Добавлено через 14 минут
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
30
31
32
33
34
35
36
37
38
39
40
uses crt;
const  CursorChar='4';
var CursorX,CursorY:integer;
    key:char;
procedure CursorDraw;
begin
textcolor(red);
gotoxy(CursorX,CursorY);
write(CursorChar);
gotoXY(80,25);{убираем курсор в угол}
end;
procedure CursorClear;
begin
gotoxy(CursorX,CursorY);
write(' ');
gotoXY(80,25);{убираем курсор в угол}
end;
procedure CursorMove;
begin
key:=readkey;
if key=#0 then key:=readkey;{коды стрелок имеют первый индекс=0}
CursorClear;
case key of
#75: if CursorX>1 then dec(CursorX); {проверяем чтобы не выходило за экран}
#77: if CursorX<79 then inc(CursorX);
#72: if CursorY>1 then dec(CursorY);
#80: if CursorY<25 then inc(CursorY);
end;
end;
begin
clrscr;
CursorX:=3;
CursorY:=3;
CursorDraw;
while key<>#27 do
 begin
  CursorMove;
  CursorDraw;
 end;
end.
0
TTETYX
1 / 1 / 1
Регистрация: 24.07.2017
Сообщений: 13
10.08.2017, 20:25  [ТС] #4
Puporev, Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2017, 20:25
Привет! Вот еще темы с решениями:

Код, написанный на ABC, не работает в Turbo
Ребят скажите в чем может быть проблема. Писал долго и упорно калькулятор на...

Не работает код программы, написанный в другой версии Паскаля
Подскажите пожалуйста, почему код не работает в турбо паскале? program...

Есть код на паскале, нужно понять, как он работает
я не могу понять алгоритм программы разбиение числа n на k слагаемых например,...

В массиве X обменять местами первый и последний четные элементы.поправте код программы а то не работает
В массиве X обменять местами первый и последний четные элементы. поправте код...


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

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

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