cobol - Cobol-Restart from the program
问题描述
I have a little question I wrote a calculator in cobol, and I'm not so expert I give you here the code:
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.
Now, I want to give a message saying "Do you want to do other operations?" and, if the answer is yes it returns to the beginning, and if you say no it goes to the end. If you can explain to me how, but not with paragraphs if you can. Can I have the code correct?
解决方案
Now, I want to give a message saying "Do you want to do other operations?" and, if the answer is yes it returns to the beginning, and if you say no it goes to the end. If you can explain to me how, but not with paragraphs if you can. Can I have the code correct?
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
.
推荐阅读
- python - AttributeError:“字节”对象没有属性“getPage”
- python - 使用熊猫将列作为日期从长到宽
- elasticsearch - 使用 filebeat 运行 ELK
- c# - 为什么通过 WinAPI 调用的 MessageBox 在不同的计算机上会给出不同的错误?
- sqlite - SQLITE 保存了 pdf 、 excel 、 BLOB 列中的单词。怎么找回来?
- java - 即使宽度设置为 50,容器也会占用整个宽度
- python - 抓取此网站时遇到问题
- sql - 如何在 SQL 中转置?
- javascript - Javascript:从目录中读取文件
- javascript - javascript 从 div 类中获取值