質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
COBOL

COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。

意見交換

クローズ

9回答

2102閲覧

cobolコードについて助けてください

kumura

総合スコア0

COBOL

COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。

0グッド

0クリップ

投稿2023/06/22 00:23

0

0

cobol.cobで給料計算ファイルを作ったのですが、エラが出ました

*cobol.cobの名前しました。以下にを入力しました。 IDENTIFICATION DIVISION. *プログラムの識別情報 PROGRAM-ID. SAMPLE-PROGRAM. *SAMPLE-PROGRAM AUTHOR. Your Name. DATE-WRITTEN. DD/MM/YYYY. DATA DIVISION. *データの定義や作業領域 WORKING-STORAGE SECTION. 01 EMPLOYEE-RECORD. 05 EMPLOYEE-ID PIC 9(5). 05 EMPLOYEE-NAME PIC X(20). 05 EMPLOYEE-SALARY PIC 9(7)V99. 05 TAX-RATE PIC 9(3)V99 VALUE 0.2. 05 NET-SALARY PIC 9(7)V99. PROCEDURE DIVISION. *社員情報の入力と給与計算、結果の表示を行っている。 MAIN-ROUTINE. *プログラムの実行を開始するエントリーポイント。ここから処理を始める DISPLAY "Enter employee ID: ". ACCEPT EMPLOYEE-ID. DISPLAY "Enter employee name: ". ACCEPT EMPLOYEE-NAME. DISPLAY "Enter employee salary: ". ACCEPT EMPLOYEE-SALARY. COMPUTE NET-SALARY = EMPLOYEE-SALARY - (EMPLOYEE-SALARY * TAX-RATE). DISPLAY "Employee ID: " EMPLOYEE-ID. DISPLAY "Employee Name: " EMPLOYEE-NAME. DISPLAY "Net Salary: " NET-SALARY.

で書きました。そして実行方法ですがですが、
以下の

cobc -x -o cobol cobol.cob

で方法で実行しました。
で原因のエラーなのですが、

cobol.cob:1: error: invalid indicator 'F' at column 7 cobol.cob:2: error: invalid indicator '?' at column 7 cobol.cob:3: error: invalid indicator 'M' at column 7 cobol.cob:4: error: invalid indicator 'E' at column 7 cobol.cob:5: error: invalid indicator '.' at column 7 cobol.cob:6: error: invalid indicator 'R' at column 7 cobol.cob:7: error: invalid indicator 'I' at column 7 cobol.cob:8: error: invalid indicator '?' at column 7 cobol.cob:9: error: invalid indicator 'G' at column 7 cobol.cob:10: error: invalid indicator 'L' at column 7 cobol.cob:11: error: invalid indicator 'E' at column 7 cobol.cob:12: error: invalid indicator 'E' at column 7 cobol.cob:13: error: invalid indicator 'E' at column 7 cobol.cob:14: error: invalid indicator 'T' at column 7 cobol.cob:15: error: invalid indicator 'N' at column 7 cobol.cob:17: error: invalid indicator 'U' at column 7 cobol.cob:18: error: invalid indicator '?' at column 7 cobol.cob:19: error: invalid indicator 'O' at column 7 cobol.cob:20: error: invalid indicator '?' at column 7 cobol.cob:21: error: invalid indicator 'P' at column 7 cobol.cob:22: error: invalid indicator 'E' at column 7 cobol.cob:24: error: invalid indicator 'P' at column 7 cobol.cob:25: error: invalid indicator 'E' at column 7 cobol.cob:27: error: invalid indicator 'P' at column 7 cobol.cob:28: error: invalid indicator 'E' at column 7 cobol.cob:30: error: invalid indicator 'P' at column 7 cobol.cob:32: error: invalid indicator 'P' at column 7 cobol.cob:33: error: invalid indicator 'P' at column 7 cobol.cob:34: error: invalid indicator 'P' at column 7 cobol.cob:37: error: PROGRAM-ID header missing

が表示されてしまいました。

以上の原因が正直わかりませんこの原因を解決できる方を探しています。わかる方がいましたら教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答9

#1

shiketa

総合スコア3971

投稿2023/06/22 00:37

編集2023/06/22 01:44

処理系によって異なるのかもしれないが、あなたの使っている処理系では、行の先頭6文字は行番号、7桁目にも意味があって、8桁目から記述しないといけないのではないかと。

先頭から6文字分を「一連番号領域」と言います。
先頭から7文字目を「標識領域」と言います。
先頭から8~11文字目までを「A領域」と言います。
先頭から12~72文字目までを「B領域」と言います。
先頭から73~80文字目までを「見出し領域」と言います。


cobol.cob:1: error: invalid indicator 'F' at column 7
IDENTIFICATION DIVISION.

IDENTIを行番号、7桁目は , *, /, -のいずれかを期待しているのにFなのでエラー、と。以下、同様に。

cobol.cob:6: error: invalid indicator 'R' at column 7
DATE-WRITTEN. DD/MM/YYYY.

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

logres_Fan

総合スコア164

投稿2023/06/22 01:03

編集2023/06/22 01:19

DX時代に枯れた技術で車輪を再生産して他人に迷惑をかけるのは、ちょっと不味いんじゃないでしょうか?
とある会社ではCOBOLで給与計算している。これは、従業員や取引先からどう見られるでしょうか?
意見交換してみて下さい。
必要だから何をやっても許されるわけではないでしょう。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

maisumakun

総合スコア145192

投稿2023/06/22 01:26

#2

Teratailに「COBOL」タグが存在するわけですし、下っ端が「言語を乗り換える」ような大変革を起こせる現場もそうそうないということを考え合わせれば、質問としては何ら問題ないと考えます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

logres_Fan

総合スコア164

投稿2023/06/22 01:37

#3
もしかして、COBOLで給与計算などを、新規作成しなければいけない現場がまだあるのでしょうか?
タグ「川で洗濯」、ドラム式洗濯機の時代に川で洗濯するような質問が出てくると、疑問に思ってしまいます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

Zuishin

総合スコア28660

投稿2023/06/22 01:50

新規作成というよりは、学習課題のように見えます。
なぜ COBOL か聞かれた時にそう答えれば済む話だったと思うんですが、憎まれ口を叩いて新しい質問を立てたのは攻撃的ですね。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

logres_Fan

総合スコア164

投稿2023/06/22 01:56

編集2023/06/22 02:46

#0

表示内容を取得できませんでした

、#5
あぁ、学習課題の可能性は想定外でした、すみません。
しかし、まぁ本当に大変ですね、頑張って下さい٩( 'ω' )و

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#7

otn

総合スコア84626

投稿2023/06/22 17:03

おそらく文字を書くカラムが決まっている言語というものが想像できなかったのでしょうね。
cobolのソースコードの書き方は、固定形式と、自由形式があります。

固定形式の場合はカラムで意味が決まっているので、それに従った書き方をする必要があります。
・カラム1~6は行番号(空白でもOK)
・コメントは7カラム目に*を書いてそれ以降に
・プログラムは8カラム目から72カラム目まで(右端は処理系依存だがGNUのcobcだと72カラム)

自由形式の場合はカラム制約無しですが、コメントの開始は*>です。またコンパイルはcobc-freeオプションが必要です。デフォルトは固定形式です。

このコードが、実用目的のコードに見えたということに驚いたのですが、さすがにそれは無いと思うので、
おそらくは、最初の1行だけ見て、コードの中味を見ずに意見を書いたのですかね。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#8

logres_Fan

総合スコア164

投稿2023/06/23 03:20

編集2023/06/23 03:30

前スレ中にお消えになったのでうっかりかなと思い此方に意見を書きました。
#7
コードについては、全く見ていませんでした。タイトルと冒頭1行だけ読んで、まず、COBOLの必要性を確認していて、途中だったのですよ。

#0

表示内容を取得できませんでした


全く見なかったのも、失礼でした。すみません。
COBOLが必要不可欠という事なので、頑張って下さい。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#9

Orlofsky

総合スコア16415

投稿2023/06/26 15:04

COBOLって固定のフォーマットでコードを記述しなければなりません。
それを無視してすべて1カラム目から書いているから破綻しました。

はじめてのCOBOL 学習の手引き COBOLの記述方法、記述できる範囲 を熟読してください。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問