开发者

Need help with a syntax error (COBOL)

开发者 https://www.devze.com 2023-01-30 03:34 出处:网络
I am working on my last homework assignment for COBOL this semester and I am being hit with a syntax error that is stopping my progress cold. Here is what I got:

I am working on my last homework assignment for COBOL this semester and I am being hit with a syntax error that is stopping my progress cold. Here is what I got:

   ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.

       SELECT USED-CAR-FILE-OUT
           ASSIGN TO 'USED-CAR.RPT'
           ORGANIZATION IS LINE SEQUENTIAL.

   DATA DIVISION.
   FILE SECTION.

   FD  USED-CAR-FILE-OUT.
   01  USED-CAR-RECORD-OUT         PIC X(80).

   WORKING-STORAGE SECTION.
   01  ID-CODE                     PIC X(3).
   01  TOTAL-CASH-PAYMENT          PIC 9(5).
   01  MONTHLY-PAYMENT             PIC 9(4).
   01  NUMBER-OF-MONTHS            PIC 9(3).

   01  BALANCE-TOTAL               PIC S9(6)V99 VALUE ZEROS.

   01  INTEREST-EARNED             PIC S99V99   VALUE ZEROS.

   01  COMPARE-MONTH               PIC 99       VALUE ZEROS.

   01  YEAR-NUMBER                 PIC 99       VALUE ZEROS.

   01  MONTH-NUMBER                PIC 99       VALUE ZEROS.

   01  DETAIL-LINE.
       05  ID-CODE-DL              PIC X(3).
       05                          PIC X(3)    VALUE SPACES.
       05                          PIC X(4)    VALUE 'Yr='.
       05  YEAR-NUMBER-DL          PIC Z9      VALUE ZEROS.
       05                          PIC X(4)    VALUE SPACES.
       05                          PIC X(4)    VALUE 'Mo='.
       05  MONTH-NUMBER-DL         PIC Z9.
       05                          PIC X(4)    VALUE SPACES.
       05                          PIC X(5)    VALUE 'Pmt='.
       05  PAYMENT-DL              PIC $$$,$$$.
       05                          PIC X(4)    VALUE SPACES.
       05                          PIC X(5)    VALUE 'Int='.
       05  INTEREST-EARNED-DL      PIC $$$$.99.
       05                          PIC X(3)    VALUE SPACES.
       05                          PIC X(5)    VALUE 'Bal='.
       05  BALANCE-DL              PIC $$$,$$$.99.

   PROCEDURE DIVISION.
   100-MAIN.
       OPEN OUTPUT USED-CAR-FILE-OUT

       PERFORM 200-INPUT THRU 299-EXIT

       CLOSE USED-CAR-FILE-OUT
       STOP RUN.

   200-INPUT.
       DISPLAY 'Used Car Sales Report'
       DISPLAY 'Enter the ID Code (or END) - maximum three char.'
       ACCEPT ID-CODE
       IF ID-CODE = 'END'
           GO TO 299-EXIT
       END-IF
       DISPLAY 'Enter the Total Cash Payment - maximum five digits'
       ACCEPT TOTAL-CASH-PAYMENT
       DISPLAY 'Enter the Monthly Payment - maximum four digits'
       ACCEPT MONTHLY-PAYMENT
       DISPLAY 'Enter the Number of Months - maximum three digits'
       ACCEPT NUMBER-OF-MONTHS
       PERFORM 300-PROCESS.

   299-EXIT.
       EXIT.

   300-PROCESS.
       IF TOTAL-CASH-PAYMENT > 0
           MOVE TOTAL-CASH-PAYMENT TO PAYMENT-DL
       END-IF
       IF MONTHLY-PAYMENT > 0
           MOVE MONTHLY-PAYMENT TO PAYMENT-DL
       END-IF
       ADD PAYMENT-DL TO BALANCE-TOTAL
       COMPUTE INTEREST-EARNED ROUNDED = .0175 / BALANCE-TOTAL
       ADD INTEREST-EARNED TO BALANCE-TOTAL
       MOVE BALANCE-TOTAL TO BALANCE-DL
       ADD 1 TO COMPARE-MONTH
       IF MONTH-NUMBER-DL > 13
           ADD 1 TO MONTH-NUMBER
           MOVE MONTH-NUMBER TO MONTH-NUMBER-DL
       END-IF
       IF MONTH-NUMBER-DL = 13
           MOVE 1 TO MONTH-NUMBER
           MOV开发者_如何学编程E MONTH-NUMBER TO MONTH-NUMBER-DL
       END-IF
       IF MONTH-NUMBER = 1
           ADD 1 TO YEAR-NUMBER
           MOVE YEAR-NUMBER TO YEAR-NUMBER-DL
       END-IF
       MOVE DETAIL-LINE TO USED-CAR-RECORD-OUT
       WRITE USED-CAR-RECORD-OUT
           AFTER ADVANCING 1 LINE
       IF TOTAL-CASH-PAYMENT > 0
           MOVE 0 TO TOTAL-CASH-PAYMENT
           MOVE 0 TO PAYMENT-DL
       END-IF
       IF COMPARE-MONTH > NUMBER-OF-MONTHS
           PERFORM 300-PROCESS
       END-IF

The problem is with PAYMENT-DL, INTEREST-EARNED-DL and BALANCE-DL. It says that an illegal character, but I know that it should work as it shows those pic clauses in my book and the teacher handed out an incomplete version of the program that I have to write. What do I have to do to get rid of those errors?


The invalid character is the "$" sign.

This should be OK, but your compiler may have been customized to use a local currency symbol as the default.

You could switch to your local currency sign (if you know it!) or change it back to "$". Changing it back to "$" depends on which compiler you are using and how the defaults are set -- you really need to read the manual for your particular compiler to find out how this is done.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号