3

私はCOBOLの初心者で、次のようなことをしたらどうなるのだろうと思っています:
(以下のコードは実行可能なcobolではないことを知っています.

foo pic x(5)
accept foo

ユーザーが 3 文字の長さの文字列 (たとえば、yes) を入力した場合、foo の値は単に "yes" になりますか? または、作成時に指定された 5 文字すべてを入力します (たとえば、「(スペース)(スペース)はい」または「はい(スペース)(スペース)」、またはそれ以外ですか?

ありがとう!

ここに私のコードがあります

000100        IDENTIFICATION DIVISION.                           
000200       *--------------------                               
000300        PROGRAM-ID. ZIPCODES.                              
000400       *--------------------                               
000500        ENVIRONMENT DIVISION.                              
000600       *--------------------                               
000700        CONFIGURATION SECTION.                             
000800        INPUT-OUTPUT SECTION.                              
000900        FILE-CONTROL.                                      
001000            SELECT PRT ASSIGN TO UT-S-PRTAREA.             
001100                                                           
001200        DATA DIVISION.                                     
001300       *-------------                                      
001400        FILE SECTION.                                      
001500        FD  PRT                                            
001600            RECORD CONTAINS 80 CHARACTERS                  
001700            DATA RECORD IS LINE-PRT.
001800        01  LINE-PRT              PIC X(80).                
001900                                                            
002000        WORKING-STORAGE SECTION.                            
002100       *-----------------------                             
002200                 EXEC SQL INCLUDE SQLCA  END-EXEC.          
002300                                                            
002310        01 done.                                           
002320           02 donevar            PIC x(5) VALUE 'done '.    
002400        01 ZIP-RECORD.                                      
002500           02 ZIP                PIC X(5).                  
002600           02 ZCITY              PIC X(20).                 
002700           02 ZSTATE             PIC X(2).                  
002800           02 ZLOCATION          PIC X(35).                 
002900                                                            
003000        01 H1.                                              
003100           02 COLUMN-1           PIC X(8) VALUE 'Zip-Code'. 
003200           02 FILLER             PIC X(2).                  
003300           02 COLUMN-2           PIC X(5) VALUE 'State'.
003400           02 FILLER             PIC X(2).                       
003500           02 COLUMN-3           PIC X(4) VALUE 'City'.          
003600           02 FILLER             PIC X(16).                      
003700           02 COLUMN-4           PIC X(14) VALUE 'Location Text'.
003800           02 FILLER             PIC X(29).                      
003900                                                                 
004000        01 L1.                                                   
004100           02 ZIP-L1             PIC X(5).                       
004200           02 FILLER             PIC X(5).                       
004300           02 STATE-L1           PIC X(2).                       
004400           02 FILLER             PIC X(5).                       
004500           02 CITY-L1            PIC X(20).                      
004600           02 LOCTXT-L1          PIC X(35).                      
004700           02 FILLER             PIC X(28).                      
004800                                                                 
004900        PROCEDURE DIVISION.                                      
005000       *------------------                                       
005100        BEGIN.
 005200                 OPEN OUTPUT PRT.                                
 005220                 PERFORM ZIP-LOOKUP UNTIL ZIP = done.            
 005600        PROG-END.                                                
 005700                 CLOSE PRT.                                      
 005800                 GOBACK.                                         
 005900       *****************************************************     
 006000       * zip code lookup                                   *     
 006100       *****************************************************     
 006200        ZIP-LOOKUP.                                              
 006300                 DISPLAY 'enter 5 digit zip code'                
 006400                 ACCEPT ZIP                                      
 006500                 EXEC SQL                                        
 006600                  SELECT * INTO :ZIP-RECORD FROM ZBANK.ZIPCODE   
 006700                  WHERE ZIP = :ZIP                               
 006800                 END-EXEC.                                       
 006801                 PERFORM PRINT-H1.                               
 006802                 PERFORM PRINT-L1.                               
 006900        PRINT-H1.
007000                 MOVE H1 TO LINE-PRT                     
007100                 WRITE LINE-PRT.                         
007200        PRINT-L1.                                        
007300                 MOVE  ZIP          TO  ZIP-L1           
007400                 MOVE  ZSTATE       TO  STATE-L1         
007500                 MOVE  ZCITY        TO  CITY-L1          
007510                 STRING ZSTATE DELIMITED BY " ",", ",    
007520                 ZCITY DELIMITED BY SIZE INTO LOCTXT-L1  
007700                 MOVE  L1 TO LINE-PRT                    
007800                 WRITE LINE-PRT.

zcity の前に zstate を書き込もうとしていますが、入力が「完了」しない限り、郵便番号を要求し続けます。

4

1 に答える 1