Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从程序重新启动Cobol_Cobol_Gnucobol - Fatal编程技术网

从程序重新启动Cobol

从程序重新启动Cobol,cobol,gnucobol,Cobol,Gnucobol,我有一个小问题 我用cobol写了一个计算器,但我不是那么专业 我给你这里的代码: DISPLAY "CALCOLATRICE". DISPLAY "ATTENZIONE, IL RISULTATO NON HA SEGNI!". DISPLAY "CHE VUOI FARE?". DISPLAY "1 ADDIZIONE". DISPLAY "2 SOTTRAZIONE". DISPLAY "3 MOLTIPL

我有一个小问题 我用cobol写了一个计算器,但我不是那么专业 我给你这里的代码:

       DISPLAY "CALCOLATRICE".
       DISPLAY "ATTENZIONE, IL RISULTATO NON HA SEGNI!".
       DISPLAY "CHE VUOI FARE?".
       DISPLAY "1 ADDIZIONE".
       DISPLAY "2 SOTTRAZIONE".
       DISPLAY "3 MOLTIPLICAZIONE".
       DISPLAY "4 DIVISIONE". 
       DISPLAY "5 ESCI"
       ACCEPT INPUT1

       IF INPUT1 = 5
            DISPLAY "OK, BUON LAVORO :)"
            STOP RUN
        END-IF.

       IF INPUT1 = 1
       DISPLAY "PRIMO NUMERO"
       ACCEPT A
       DISPLAY "SECONDO NUMERO"
       ACCEPT B
       COMPUTE C= A + B
               DISPLAY "Computing"
               DISPLAY "Computing."
               DISPLAY "Computing.."
               DISPLAY "Computing..."
               DISPLAY "Computing...."
               DISPLAY "Computing....."
               DISPLAY "Computing......"
               DISPLAY A "+" B  " FA..."         
               DISPLAY C
       ELSE
           IF INPUT1 = 2
               DISPLAY "PRIMO NUMERO"
               ACCEPT A
               DISPLAY "SECONDO NUMERO"
               ACCEPT B
               DISPLAY "Computing"
               DISPLAY "Computing."
               DISPLAY "Computing.."
               DISPLAY "Computing..."
               DISPLAY "Computing...."
               DISPLAY "Computing....."
               DISPLAY "Computing......"
               DISPLAY A "-" B " FA..."
               COMPUTE C= A - B
               DISPLAY C
                   ELSE
                       IF INPUT1 = 3 
                   DISPLAY "PRIMO NUMERO"
                   ACCEPT A
                   DISPLAY "SECONDO NUMERO"
                   ACCEPT B
                   COMPUTE C= A * B
                          DISPLAY "Computing"
                          DISPLAY "Computing."
                          DISPLAY "Computing.."
                          DISPLAY "Computing..."
                          DISPLAY "Computing...."
                          DISPLAY "Computing....."
                          DISPLAY "Computing......"
                          DISPLAY A "x" B " FA..."
                          DISPLAY C
                       ELSE
                           IF INPUT1 = 4
                           DISPLAY "PRIMO NUMERO"
                           ACCEPT A
                           DISPLAY "SECONDO NUMERO"
                           ACCEPT B
                           COMPUTE C= A / B
                          DISPLAY "Computing."
               DISPLAY "Computing.."
               DISPLAY "Computing..."
               DISPLAY "Computing...."
               DISPLAY "Computing....."
               DISPLAY "Computing......"
               DISPLAY A ":" B " FA..."
                           DISPLAY C
            END-IF
           END-IF
         END-IF
       END-IF.
       STOP RUN.
现在,我想给你一个信息,说“你想做其他的操作吗?”如果答案是肯定的,它会回到开头,如果你说不,它会回到结尾。 如果你能告诉我怎么做,但如果可以的话,不要用段落。代码是否正确?

大纲:

MOVE 'Y' TO do_work
PERFORM UNTIL do_work <> 'Y'
   display menu
   get response
   EVALUATE response
      WHEN reponse = 5
         MOVE 'N' to do_work
      /* other response processing */
   END-PERFORM
GOBACK.
移动“Y”来做工作
执行直到“Y”开始工作
显示菜单
得到回应
评估反应
当响应=5时
搬家去做你的工作
/*其他响应处理*/
末端执行
戈巴克。
现在,我想给你一个信息,说“你想做其他的操作吗?”如果答案是肯定的,它会回到开头,如果你说不,它会回到结尾。如果你能告诉我怎么做,但如果可以的话,不要用段落。能给我正确的密码吗


我把If改为WHEN,让它更像Cobol
   DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 INPUT1 PIC 9.
   01 A PIC 9(4).
   01 B PIC 9(4).
   01 C PIC 9(4).
   01 Q PIC X VALUE "N".
   PROCEDURE DIVISION.
       PERFORM WITH TEST AFTER UNTIL INPUT1 = 5 OR Q = "N" OR "n"
           DISPLAY "CALCOLATRICE"
           DISPLAY "ATTENZIONE, IL RISULTATO NON HA SEGNI!"
           DISPLAY "CHE VUOI FARE?"
           DISPLAY "1 ADDIZIONE"
           DISPLAY "2 SOTTRAZIONE"
           DISPLAY "3 MOLTIPLICAZIONE"
           DISPLAY "4 DIVISIONE"
           DISPLAY "5 ESCI"
           ACCEPT INPUT1

           EVALUATE INPUT1
           WHEN 1
               DISPLAY "PRIMO NUMERO"
               ACCEPT A
               DISPLAY "SECONDO NUMERO"
               ACCEPT B
               COMPUTE C= A + B
               DISPLAY "Computing"
               DISPLAY "Computing."
               DISPLAY "Computing.."
               DISPLAY "Computing..."
               DISPLAY "Computing...."
               DISPLAY "Computing....."
               DISPLAY "Computing......"
               DISPLAY A "+" B  " FA..."
               DISPLAY C
           WHEN 2
               DISPLAY "PRIMO NUMERO"
               ACCEPT A
               DISPLAY "SECONDO NUMERO"
               ACCEPT B
               DISPLAY "Computing"
               DISPLAY "Computing."
               DISPLAY "Computing.."
               DISPLAY "Computing..."
               DISPLAY "Computing...."
               DISPLAY "Computing....."
               DISPLAY "Computing......"
               DISPLAY A "-" B " FA..."
               COMPUTE C= A - B
               DISPLAY C
           WHEN 3
               DISPLAY "PRIMO NUMERO"
               ACCEPT A
               DISPLAY "SECONDO NUMERO"
               ACCEPT B
               COMPUTE C= A * B
               DISPLAY "Computing"
               DISPLAY "Computing."
               DISPLAY "Computing.."
               DISPLAY "Computing..."
               DISPLAY "Computing...."
               DISPLAY "Computing....."
               DISPLAY "Computing......"
               DISPLAY A "x" B " FA..."
               DISPLAY C
           WHEN 4
               DISPLAY "PRIMO NUMERO"
               ACCEPT A
               DISPLAY "SECONDO NUMERO"
               ACCEPT B
               COMPUTE C= A / B
               DISPLAY "Computing."
               DISPLAY "Computing.."
               DISPLAY "Computing..."
               DISPLAY "Computing...."
               DISPLAY "Computing....."
               DISPLAY "Computing......"
               DISPLAY A ":" B " FA..."
               DISPLAY C
           WHEN 5
               DISPLAY "OK, BUON LAVORO :)"
           END-EVALUATE
           IF INPUT1 NOT = 5
               DISPLAY "Do you want to do other operations?"
               ACCEPT Q
           END-IF
       END-PERFORM
       STOP RUN
       .