0
COBOL STDINから3行の入力を読み込み、3つの異なる変数に格納しようとしています。これらの入力でCOMPUTEを使用して計算を実行する予定です。COBOL:SYSINからINPUTを読み込み、変数に格納
私はTutorialsPoint(COBOLをコーディングする方法を教えています)を見ていますが、役に立たないものです。
IDENTIFICATION DIVISION.
PROGRAM-ID. SOLUTION.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT SYSIN ASSIGN TO KEYBOARD ORGANIZATION LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD SYSIN.
01 INPUT-LINE PIC X(255).
88 EOF VALUE HIGH-VALUES.
WORKING-STORAGE SECTION.
01 MEAL-COST PIC 9(2)V9(2).
01 TIP-PERCENT PIC 9(3).
01 TAX-PERCENT PIC 9(3).
PROCEDURE DIVISION.
OPEN INPUT SYSIN
READ SYSIN
AT END SET EOF TO TRUE
END-READ
DISPLAY MEAL-COST
DISPLAY TIP-PERCENT
DISPLAY TAX-PERCENT
CLOSE SYSIN.
STOP RUN.
入力フォームであろう:
12.00
、結果が整数で下記
私は今まで持っているコードであります(他のプログラミング言語の意味で)。変数を格納する唯一の方法は、各順次反復時にカウンタを持ち、各変数(食事コスト、チップパーセンテージ、税率)に格納することです。しかし、おそらくこれを行う簡単な方法がありますか?
これは私がやったことですが、入力を取得して正しい変数に格納する方法がまだあると思います。誰かが何か提案があれば、それは非常に感謝します。
IDENTIFICATION DIVISION.
PROGRAM-ID. SOLUTION.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT SYSIN ASSIGN TO KEYBOARD ORGANIZATION LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD SYSIN.
01 INPUT-LINE PIC X(255).
88 EOF VALUE HIGH-VALUES.
WORKING-STORAGE SECTION.
01 MEAL-COST PIC 9(3)V9(2).
01 TIP-PERCENT PIC 9(3)V9(2).
01 TAX-PERCENT PIC 9(3)V9(2).
01 TIP PIC 9(3)V9(2).
01 TAX PIC 9(3)V9(2).
01 TOTAL-COST PIC 9(3)V9(2).
01 ROUNDED-TOTAL-COST PIC 9(3).
01 FORMATTED-RESULT PIC Z(3).
PROCEDURE DIVISION.
OPEN INPUT SYSIN
READ SYSIN
AT END SET EOF TO TRUE
NOT AT END
MOVE INPUT-LINE TO MEAL-COST
READ SYSIN
AT END SET EOF TO TRUE
NOT AT END
MOVE INPUT-LINE TO TIP-PERCENT
READ SYSIN
AT END SET EOF TO TRUE
NOT AT END
MOVE INPUT-LINE TO TAX-PERCENT
END-READ.
COMPUTE TIP= (MEAL-COST * TIP-PERCENT/100).
COMPUTE TAX= (MEAL-COST * TAX-PERCENT/100).
COMPUTE TOTAL-COST= MEAL-COST + TIP + TAX.
COMPUTE ROUNDED-TOTAL-COST ROUNDED = TOTAL-COST.
MOVE ROUNDED-TOTAL-COST TO FORMATTED-RESULT.
DISPLAY "The total meal cost is" FORMATTED-RESULT " dollars.".
CLOSE SYSIN.
STOP RUN.
私もACCEPT使用することを試みました 'ACCEPT TAX-PERCENT' ' DISPLAYの食事COST' 'DISPLAYのTIP-PERCENT' ' DISPLAYのTAX-PERCENT' 'CLOSE SYSIN.' – qxzsilver
ACCEPT使用するときは、OPENを使用しないでください。 ACCEPTデータ名。コンパイラによっては、入力が変換されるかどうかは関係ありません。では、どのコンパイラ/ OSを使用していますか? –
[内在関数](http://stackoverflow.com/documentation/cobol/7580/intrinsic-functions)、特に 'FUNCTION NUMVAL'もチェックしたいと思うでしょう。 –