2014-09-17 2 views
0

, пожалуйста, помогите мне, я продолжаю получать эту ошибку. «Поле вне границы экрана, обнаруженное при смещении» Я пробовал все, чтобы сделать все правильно, но ошибка продолжает проявляться. Пожалуйста, помогите мне, это мой код:., пожалуйста, помогите мне избавиться от этой ошибки

  IDENTIFICATION DIVISION. 
     PROGRAM-ID. LALABS. 
     ENVIRONMENT DIVISION. 
     CONFIGURATION SECTION. 
     SOURCE-COMPUTER. IBM-PC. 
     OBJECT-COMPUTER. IBM-PC. 
     INPUT-OUTPUT SECTION. 
     FILE-CONTROL. 
      SELECT OUTFILE ASSIGN TO 'NATS'. 
     DATA DIVISION. 
     FILE SECTION. 
     FD OUTFILE 
      LABEL RECORD IS OMITTED 
      DATA RECORD IS OUTREC. 
     01 OUTREC. 
      02 FILLER PIC X(80). 
     WORKING-STORAGE SECTION. 
     01 BC PIC 9 VALUE 0. 
     01 TCF PIC 99 VALUE 0. 
     01 RFC PIC 9(5) VALUE 0. 
     01 PTF PIC 9(5) VALUE 0. 
     01 ES PIC 9(5) VALUE 0. 
     01 RS PIC 9(5) VALUE 0. 
     01 EOFSW PIC 9 VALUE 0. 
     01 IR PIC 9(5) VALUE 0. 
     01 INPUTZ PIC X VALUE SPACES. 
     01 LALAGYANZZ. 
      02 LALAGYAN1 PIC 9(5) VALUE 0. 
      02 LALAGYAN2 PIC 9(5) VALUE 0. 
      02 LALAGYAN3 PIC 9(5) VALUE 0. 
     01 CTR-STUDENTS. 
      02 MAIN-S PIC 9(5) VALUE 0. 
      02 COMMON-S PIC 9(5) VALUE 0. 
      02 SJ-S PIC 9(5) VALUE 0. 
      02 TAG-S PIC 9(5) VALUE 0. 
     SCREEN SECTION. 
     01 SCRE. 
      02 BLANK SCREEN. 
     PROCEDURE DIVISION. 
     MAIN-RTN. 
      PERFORM INIT-RTN THRU INIT-RTN-END. 
      PERFORM PROCESS-RTN UNTIL INPUTZ = 'N' OR 'n'. 
      STOP RUN. 
     INIT-RTN. 
      GO TO INIT-RTN-END. 
     INIT-RTN-END. 
     PROCESS-RTN. 
      DISPLAY SCRE. 
      DISPLAY(5, 20) 'POLYTECHNIC UNIVERSITY OF THE PHILIPPINES'. 
      DISPLAY(6, 30) 'STA. MESA, MANILA'. 
      DISPLAY(9, 30) 'METRO BRANCH CAMPUS'. 
      DISPLAY(10, 30) 'POPULATION REPORT'. 
      DISPLAY(11, 30) 'FIRST SEMESTER'. 
      DISPLAY(12, 30) '2014-2015'. 
      PERFORM A. 
     A. DISPLAY(14, 15) 'LOCATION BRANCH CODE:(1/2/3/4)'. 
      ACCEPT(14, 55) BC. 
      IF BC > 4 OR BC < 1 PERFORM A. 
      DISPLAY(15, 15) 'LOCATION NAME:'. 
      IF BC = 1 PERFORM MEYN-RTN. 
      IF BC = 2 PERFORM COMMON-RTN. 
      IF BC = 3 PERFORM SJ-RTN. 
      IF BC = 4 PERFORM TAG-RTN. 
      DISPLAY(16, 15) 'TOTAL NO. OF COURSE OFFERED:'. 
      ACCEPT(16, 55) TCF. 
      DISPLAY(17, 15) 'TOTAL NO. OF REGULAR FACULTY:'. 
      ACCEPT(17, 55) RFC. 
      DISPLAY(18, 15) 'TOTAL NO. OF PART-TIME FACULTY:'. 
      ACCEPT(18, 55) PTF . 
      DISPLAY(19, 15) 'TOTAL NO. OF ENROLLED STUDENTS:'. 
      ACCEPT(19, 55) ES. 
      DISPLAY(20, 15) 'TOTAL NO, OF REGULAR STUDENTS:'. 
      ACCEPT(20, 55) RS. 
      PERFORM IR-RTN. 
      DISPLAY(21, 15) 'TOTAL NO: OF IRREGULAR STUDENTS:'. 
      DISPLAY(21, 55) IR . 
      PERFORM J. 
     J. DISPLAY(22, 15) 'INPUT ANOTHER RECORD(Y/N)?:'. 
      ACCEPT(22, 55) INPUTZ. 
      IF INPUTZ = 'Y' OR 'N' NEXT SENTENCE ELSE PERFORM J. 
      IF INPUTZ = 'Y' PERFORM PROCESS-RTN ELSE PERFORM TOTZ-RTN. 
     IR-RTN. 
      COMPUTE IR = ES - RS. 
     TOTZ-RTN. 
      DISPLAY(23, 15) 'LARGEST NO. :'. 
      DISPLAY(23, 30) LALAGYAN3. 
      DISPLAY(26, 15) 'BRANCH NAME:'. 
     MEYN-RTN. 
      DISPLAY(15, 50) 'STA. MESA, MAIN'. 
      ADD ES TO MAIN-S. 
     COMMON-RTN. 
      DISPLAY(15, 50) 'COMMONWEALTH'. 
      ADD ES TO COMMON-S. 
     SJ-RTN. 
      DISPLAY(15, 50) 'SAN JUAN'. 
      ADD ES TO SJ-S. 
     TAG-RTN. 
      DISPLAY(15, 50) 'TAGUIG'. 
      ADD ES TO TAG-S. 




+0

Попробуйте удалить код, пока проблема не исчезнет - вот как вы создаете наименьший пример проблемы. Очень часто вы обнаружите, что это эффективная стратегия для отладки. Вы говорите: «Я все испробовал, чтобы сделать все правильно», но вы не укажете, что вы на самом деле делали ... Это затрудняет вам помощь. Когда возникла проблема? Это COBOL - поэтому, вероятно, исходный код старый и работал в какой-то момент в прошлом. Что изменилось? – Floris

+0

Трудно помочь получить только страницу кода и сообщение об ошибке. Можете ли вы объяснить, что вы пытались сделать, и, возможно, установить нуль в строке, которая вызывает эту ошибку? Прикрепите состояние переменных в строке ошибки и любых других строк журнала. –

+0

Какой компилятор/ОС? Есть ли какой-либо вывод при запуске программы? –

ответ

1
DISPLAY(23, 15) 'LARGEST NO. :'. 
DISPLAY(23, 30) LALAGYAN3. 
DISPLAY(26, 15) 'BRANCH NAME:'. 

Если у вас экран 26 строки (или 27, если он отсчитывается от нуля), что в прошлом display может быть причиной проблемы, если вы ограничены 25 строк, это почти наверняка, и вы должны изменить координаты так, чтобы они правильно помещались в пределах экрана.

+1

Должен быть достоин голосования , И типографский флаг. TS/OP даже не потрудился посетить сайт с тех пор, как спросил, но может помочь кому-то еще в будущем, кто не прочитает сообщения об ошибках :-) –

Смежные вопросы