내 문제는 파일에서 읽은 변수에 다른 문자열이 들어 있는지 또는 일치하는지 확인하는 것입니다. 즉 COBOL에서 문자열의 하위 문자열 찾기
, 그BRADD PIC X (30)
을 변수
일치 또는 키보드에 의해 도입 된 문자열을 포함하는 파일에서 찾을 모든 레코드.
나는이 문제가 INSPECT 명령을 통해 해결 매우 확신, 그리고 내 코드에서 이런 식으로 뭔가를 시도했다 :
CITY 내가 키보드를 통해 소개 변수입니다 READ BRANCHFILE NEXT RECORD
AT END SET EndOfFile TO TRUE
END-READ.
PERFORM UNTIL EndOfFile
INSPECT BBRADD
TALLYING CONT for CHARACTERS
BEFORE INITIAL CITY
IF CONT>1
DISPLAY " BRANCH CODE :" BBRID
DISPLAY " BRANCH NAME :" BBRNAME
DISPLAY " BRANCH ADDRESS :" BBRADD
DISPLAY " PHONE :" BBRPH
DISPLAY " E-MAIL :" BEMAIL
DISPLAY " MANAGER NAME :" BMGRNAME
DISPLAY " ------------------"
DISPLAY " ------------------"
END-IF
READ BRANCHFILE NEXT RECORD
AT END SET EndOfFile TO TRUE
END-READ
MOVE 0 TO CONT
END-PERFORM.
.
¿ 누구나 "문자열"에서 "하위 문자열"을 찾는 방법을 알고 있습니까?
예를 들어, "Zaragoza"를 도입하면 내 프로그램은 BBRADD 변수에 "Zaragoza"가 포함 된 파일의 모든 레코드를 인쇄해야합니다.
01 BRANCHREC.
88 EndOfFile VALUE HIGH-VALUE.
02 BBRID PIC X(6).
02 BBRNAME PIC X(15).
02 BBRADD PIC X(30).
02 BBRPH PIC X(10).
02 BEMAIL PIC X(20).
02 BMGRNAME PIC X(25).
제안 된 코드를 사용하고 있습니다. CITY 변수의 길이를 계산하는 코드를 구현하는 방법을 먼저 찾아야합니다. – daniegarcia254
지금은 걱정하지 마십시오. 길이를 하드 코드하여 원하는 것을 얻었는지 확인한 다음 길이를 찾는 데 이동하십시오. 원하는 작업에 적합하지 않다는 것을 알게되면 추가 작업을 수행하는 것이 중요하지 않으므로 먼저 원하는 코드를 테스트하십시오. –
잘 듣고 싶습니다. 만약 도시의 길이에 문제가 있다면,'FUNCTION REVERSE ... '와'INSPECT ... TALLYING ...'을 사용하는 것이 좋습니다. cpu-straining 방법은 적지 만 일반적입니다. 문제가 있으면 다른 질문을 시작하십시오. 행운을 빕니다. –