2010-12-02 6 views
1

COBOL 숙제에 약간의 문제가 있습니다. 나는 사람들의 이름과 사회 보장 번호를 쓴 프로그램을 만들어야한다. 기본적으로 장난감은 123-45-6789처럼 123456789와 같은 번호를 만들고 JSDOE와 같은 이름은 J S DOE처럼 표시됩니다. 누군가 나를 도울 수 있습니까?COBOL에서 공백과 대시를 만드는 방법

+0

날 Oveflow 스택과 우리가 일반적으로 여기에서 단지 세 가지를 기억하는 당신을 환영 할 수 있도록 허용 : 1) 도움을 받으면 전문 분야에서 질문에 대답 해보십시오. 2) FAQ를 읽어보십시오 !! 3) 좋은 질문과 답변을 볼 때, 시스템의 신뢰성이 사용자가 지식을 공유함으로써 얻을 수있는 명성에 기반을두고 있기 때문에 그것을 줄이십시오. 또한 문제가 더 잘 풀린 답을 수락하는 것을 잊지 마십시오. –

답변

5

같은 것을해야합니다.

01 toyNumber pic 9(9). 

01 yourNumber. 
    03 a pic x(3). 
    03 b pic x(2). 
    03 c pic x(4). 

01 outNumber. 
    03 a1  pic x(3). 
    03 filler pic x value "-". 
    03 b1  pic x(2). 
    03 filler pic x value "-". 
    03 c1  pic x(4).  

및 절차에

:

move 123456789 to toyNumber. 
    .... 
    move toyNumber to yourNumber. 
    move a to a1. 
    move b to b1. 
    move c to c1. 

    display outNumber. 

또는 사용 당신이 당신의 숙제에서 허용하는 경우 "해당 이동"할 수 있습니다.

희망이 도움이됩니다.

추신 : 이름의 트릭은 동일합니다 ...

1

COBOL !!

나는 이것을 오랫동안 쓰고있다. 따라서주의하십시오. 이런 식으로 뭔가 작동 할 수 있습니다

 

01 SSN. 
    03 SSN-FIRST   PIC X(03) VALUE SPACES. 
    03 SSN-FDASH   PIC X  VALUE "-". 
    03 SSN-MIDDLE  PIC X(02) VALUE SPACES. 
    03 SSN-MDASH   PIC X  VALUE "-". 
    03 SSN-LAST   PIC X(04) VALUE SPACES. 

01 NAME. 
    03 FNAME   PIC X(10) VALUE SPACES. 
    03 FDASH   PIC X  VALUE SPACES. 
    03 FMIDDLE  PIC X(10) VALUE SPACES. 
    03 MDASH   PIC X  VALUE SPACES. 
    03 FLAST  PIC X(10) VALUE SPACES. 

 
2

더 현대적인 (이하 고대?) 방법 : -

STRING SSNUMBER(1:3) DELIMITED BY SIZE 
     '-'   DELIMITED BY SIZE 
     SSNUMBER(4:5) DELIMITED BY SIZE 
     '-'   DELIMITED BY SIZE 
     SSNUMBER(6:9) DELIMITED BY SIZE 
INTO PRINTFIELD. 
관련 문제