• ベストアンサー

COBOL

以下のURLの内容のCOBOLソースを教えてください。 https://drive.google.com/open?id=0ByQsPLJesRSPazJEcjhROVFPbG8

  • domiq
  • お礼率6% (1/15)

質問者が選んだベストアンサー

  • ベストアンサー
  • maiko0333
  • ベストアンサー率19% (840/4403)
回答No.1

できたんですけど、PROGRAM-IDの取り方は私は知りません。 ******************************************** *成績表を出力する * ******************************************** IDENTIFICATION DIVISION. PROGRAM-ID. TEST-01. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT IN-FILE ASSIGN TO "SAMPLE_23.DAT". SELECT OUT-FILE ASSIGN TO "SAMPLE_24.DAT". DATA DIVISION. FILE SECTION. FD IN-FILE. 01 IN-REC. 02 IN-GAKUBAN PIC 9(05). 02 IN-NAME PIC X(10). 02 IN-KOKU PIC 9(03). 02 IN-SUU PIC 9(03). 02 IN-EI PIC 9(03). FD OUT-FILE. 01 OUT-REC. 02 OUT-GAKUBAN PIC 9(05). 02 OUT-NAME PIC X(10). 02 OUT-KOKU PIC 9(03). 02 OUT-SUU PIC 9(03). 02 OUT-EI PIC 9(03). 02 OUT-GOUKEI PIC 9(03). WORKING-STORAGE SECTION. 01 MEISAI. 02 M-GAKUBAN PIC 9(05). 02 FILLER PIC X(02) VALUE SPACE. 02 M-NAME PIC X(10). 02 FILLER PIC X(02) VALUE SPACE. 02 M-KOKU PIC ZZ9. 02 FILLER PIC X(02) VALUE SPACE. 02 M-SUU PIC ZZ9. 02 FILLER PIC X(02) VALUE SPACE. 02 M-EI PIC ZZ9. 02 FILLER PIC X(03) VALUE SPACE. 02 M-GOUKEI PIC ZZ9. 02 FILLER PIC X(02) VALUE SPACE. 02 M-HEIKIN PIC ZZ9. * 01 HEIKIN. 02 FILLER PIC X(17) VALUE " 学年平均点 ". 02 FILLER PIC X(02) VALUE SPACE. 02 H-KOKU PIC ZZ9. 02 FILLER PIC X(02) VALUE SPACE. 02 H-SUU PIC ZZ9. 02 FILLER PIC X(02) VALUE SPACE. 02 H-EI PIC ZZ9. 02 FILLER PIC X(03) VALUE SPACE. 02 H-GOUKEI PIC ZZ9. 02 FILLER PIC X(02) VALUE SPACE. 02 H-HEIKIN PIC ZZ9. * 01 WK-GOUKEI PIC 9(03). 01 WK-HEIKIN PIC 9(03). 01 END-FLG PIC X(01) VALUE SPACE. 01 CTR-IN PIC 9(03). 01 CTR-OUT PIC 9(03). 01 EDIT-KENSUU PIC ZZ9. * 01 G-KOKU PIC 9(03). 01 G-SUU PIC 9(03). 01 G-EI PIC 9(03). * 01 HIDUKE. 02 YY PIC X(02). 02 MM PIC X(02). 02 DD PIC X(02). * 01 JIKOKU. 02 HH PIC X(02). 02 MI PIC X(02). 02 SS PIC X(02). * PROCEDURE DIVISION. MAIN-PROC. ******************************************* * メイン処理 * ******************************************* PERFORM INIT-SEC. PERFORM MAIN-SEC UNTIL END-FLG = "E". PERFORM END-SEC. STOP RUN. * ******************************************* * 初期処理 * ******************************************* INIT-SEC. OPEN INPUT IN-FILE OUTPUT OUT-FILE. ACCEPT HIDUKE FROM DATE. ACCEPT JIKOKU FROM TIME. DISPLAY "***プログラム ID 開始 " YY "/" MM "/" DD " " HH "/" MI "/" SS "***". DISPLAY " 学番 名前 国 数 英 合計". MOVE ZERO TO CTR-IN MOVE ZERO TO G-KOKU G-SUU G-EI. * PERFORM READ-SEC. * ******************************************* * 主処理 * ******************************************* MAIN-SEC. PERFORM EDIT-SEC. PERFORM WRITE-SEC. PERFORM READ-SEC . * ******************************************* * 終了処理 * ******************************************* END-SEC. MOVE CTR-IN TO EDIT-KENSUU. DISPLAY "入力件数は " EDIT-KENSUU " 件". MOVE CTR-OUT TO EDIT-KENSUU. DISPLAY "出力件数は " EDIT-KENSUU " 件". MOVE ZERO TO EDIT-KENSUU. DISPLAY "更新件数は " EDIT-KENSUU " 件". ACCEPT HIDUKE FROM DATE. ACCEPT JIKOKU FROM TIME. IF CTR-IN = ZERO DISPLAY "***プログラム ID(PROGRAM-ID名を取得) 処理件数ゼロ件です ***" END-IF. * IF CTR-IN > ZERO COMPUTE H-KOKU = G-KOKU / CTR-IN COMPUTE H-SUU = G-SUU / CTR-IN COMPUTE H-EI = G-EI / CTR-IN COMPUTE H-GOUKEI = (G-KOKU + G-SUU + G-EI) / 3 DISPLAY HEIKIN END-IF. * DISPLAY "***プログラム ID 終了 " YY "/" MM "/" DD " " HH "/" MI "/" SS "***". CLOSE IN-FILE OUT-FILE. * ****************************************** * 入力処理 * ****************************************** READ-SEC. READ IN-FILE AT END MOVE "E" TO END-FLG NOT AT END ADD 1 TO CTR-IN END-READ. * ****************************************** * 編集処理 * ****************************************** EDIT-SEC. INITIALIZE MEISAI. MOVE IN-REC TO OUT-REC. MOVE IN-GAKUBAN TO M-GAKUBAN. MOVE IN-NAME TO M-NAME. MOVE IN-KOKU TO M-KOKU. MOVE IN-SUU TO M-SUU. MOVE IN-EI TO M-EI. COMPUTE WK-GOUKEI = IN-KOKU + IN-SUU + IN-EI. MOVE WK-GOUKEI TO OUT-GOUKEI M-GOUKEI. * COMPUTE WK-HEIKIN = WK-GOUKEI / 3. MOVE WK-HEIKIN TO M-HEIKIN. * COMPUTE G-KOKU = G-KOKU + IN-KOKU. COMPUTE G-SUU = G-SUU + IN-SUU. COMPUTE G-EI = G-EI + IN-EI. * ****************************************** * 出力処理 * ****************************************** <入力文字数の限界に達したため、以下省略、(いじっていません)>

domiq
質問者

補足

"学生平均点"を表示するときに文字7桁分の空白を表示してください。 実行したときに学年平均点の各科目の全体の平均点(全員の各科目合計÷人数)が違います。

その他の回答 (1)

  • maiko0333
  • ベストアンサー率19% (840/4403)
回答No.2

言ってる意味が解りません。 というか、そんな微調整もできないの?

domiq
質問者

お礼

ごめんなさい。解決しました。

関連するQ&A

  • オープン系のCOBOL

    6月よりオープン系のCOBOLの仕事をすることになりました。 内容は生産管理です。 ホスト系のCOBOLは数十年前少しやっていたのですがすっかり忘れてしまいました。 そこで、1から勉強しなおそうと思うのですが、何かいい本はないでしょうか? (COBOL入門やオープン系入門等の分かりやすい本等) また、COBOLソースを簡単に読むテクニック等あればお教えください。 (予備校で、現代国語や古文の問題を簡単に解く方法みたいなやつ) ほとんど、オープン系もCOBOLも分からないど素人と同じレベルです。 よろしくお願いいたします。

  • ロシアの書類の翻訳に関して

    ロシアの書類の翻訳をお願いしたいです。 ロシア向けにスマートフォンを送ったのですが、ロシアの関税で引っかったようで、 こちらの書類とともに日本郵便から返送されてきました。 https://drive.google.com/open?id=0B2O9WKbUTAl1NDVlbV85YmNYNlU https://drive.google.com/open?id=0B2O9WKbUTAl1R3FienN1RWNSZFk https://drive.google.com/open?id=0B2O9WKbUTAl1RkNNQ3FzSF9YNVE https://drive.google.com/open?id=0B2O9WKbUTAl1am5oeHJ4X2dCX0E https://drive.google.com/open?id=0B2O9WKbUTAl1WE90eTFYZ09SenM https://drive.google.com/open?id=0B2O9WKbUTAl1dmRISGZ3OW90dGM https://drive.google.com/open?id=0B2O9WKbUTAl1YUlZZ3pkQVR4TjQ 日本郵便に問い合わせても、ロシア語が分かる方がおらず内容を把握できないとのことです。 この書類にどのような内容が書いてあるか教えて頂けないでしょうか?

  • グーグルドライブのフォルダを自動巡回してエクセルに

    エクセルにおいて 社員名簿があり ID 氏名で一覧のリストがあります またグーグルドライブ https://drive.google.com/drive/my-drive のフォルダ名称=社員 https://drive.google.com/drive/folders/13dENSrV_XLIBb1nZ5eDhOHQR81fqtCdl において そのサブフォルダとして フォルダ名称=1 https://drive.google.com/drive/folders/1Nijm_Nvs43szpdRv-lIUSBwUTfmxmieW  フォルダ名称=2 ・・・ ID=1 氏名=山田 の場合 エクセルシートに フォルダ1のリンク先を 上記のように ひとりずつクリックして https://drive.google.com/drive/folders/1Nijm_Nvs43szpdRv-lIUSBwUTfmxmie https://drive.google.com/drive/folders/*********** のように しらみつぶしに コピペして エクセルの社員名簿に 貼り付けて行けば 可能ではあるのですが 数万単位ありまして なにか そういう作業をするプログラムを 探しています これはVBAではなくて 他のプログラム言語が必要でしょうか 要は まとめますと 自分のグーグルドライブにおいて そのなかの 例えば社員フォルダ を開き 各社員のフォルダを開く URLを、もとのエクセルの社員リスト 例えばA1がID A2が氏名 A3が 上記にあるその個人フォルダのURL このURLのコピペを自動化する プログラムを希望するのですが、 御教示くださいませ win10 office365

  •  cobolのカーソルについて

     cobolのカーソルについて  初投稿させていただきます。ですので体裁やルールを守れていない場合は、ご指摘願います。  cobolにおいて埋め込みSQL文によるカーソルをオープンし、fetchでテーブルを読み込む作業についてなんですが、一度のプログラム起動において同じテーブルを複数回読むにはどのようなソースを描けばよいのでしょうか。  具体的にはあるテーブルの5個のレコードを上から順に何度も読むといった次第です。  お分かりになられる方がいましたら、ご指導願います。よろしくお願いします。

  • COBOL

    COBOLで INIT-SEC. OPEN INPUT IN-FILE. OUTPUT OUT-FILE. DISPLAY " 学番 名前     国 数 英 合計". MOVE ZERO TO CTR-IN CTR-OUT. PERFORM READ-SEC. の部分に「開始メッセージを表示する」を追加したいのですがプログラムソースを教えてください。

  • エクセルからグーグルドライブのフォルダ開くVBA

    エクセルにおいて 社員名簿があり ID 氏名で一覧のリストがあります またグーグルドライブ https://drive.google.com/drive/my-drive のフォルダ名称=社員 https://drive.google.com/drive/folders/13dENSrV_XLIBb1nZ5eDhOHQR81fqtCdl において そのサブフォルダとして フォルダ名称=1 https://drive.google.com/drive/folders/1Nijm_Nvs43szpdRv-lIUSBwUTfmxmieW  フォルダ名称=2 ・・・ たとえば1フォルダには その社員の個人業績の記載されたpdfファイルの 1.pdfがあるとします VBAにより、たとえば ID=1 氏名=山田 の場合 エクセルシートに コマンドボタンを作り コマンドボタンをクリックするとIDを尋ねられるダイアログが 出て来て、そこにIDを入力し、 そこから 上記フォルダを開くVBAを欲しいのですが たとえばID=1とした場合 グーグルドライブの社員フォルダのなかの1フォルダに ダイレクトに到達させるのは 上記のようなURLを眺めたところ法則性も検討がつかず 無理でしょうか 宜しく御教示お願い致します win10 office365

  • COBOL85での実行ファイルの作成方法

    最近COBOLの勉強をしています。 個人的にCOBOLのソースを小規模で動作テストをしてみたいのですが、良い方法ありますか? 現在はコンパイル作業として、「COBOL85」という、 富士通のソフトウェアを使用していますが、 マニュアルが無く、実行ファイル(EXE)等作れるらしいのですが、うまく行きません。リンクをする際にターゲットエラーが出ます。 印刷までは無理だとは思いますが、ファイルをライトする辺りまで、テストしてみたいのですが、良い方法はありますか? 参考になるURLなど知っていましたら教えて下さい 使用環境は、WINDOWS NT4.0 SP4です。

  • 表面処理・蛍光X線の結果について。

    お世話になります。 SUS304の5mmのプレートの上に、不明な表面処理がなされています。 そこで、該当箇所の蛍光X線分析を行ったのですが、 硬質クロムメッキと予想していたのですが、Cr以外にも、Niが多い結果となりました。 この結果から、どのようは表面処理が考えられますでしょうか? このプレートの上をガラス壜が滑ったりする用途で使われます。 基材がSUS304なので、耐食性を向上させるためにNiを付加するというのも、 違うような気がいたします。 googleドライブに検査結果の画像をアップしましたので、ご参照お願いいたします。 シェア状態になっておりませんでした。 以下、リンクでよろしくお願いいたhします。 https://drive.google.com/file/d/0B3qkqP1pn9u0YWViMDhLRU9PZ3c/view?usp=sharing https://drive.google.com/open?id=0B3qkqP1pn9u0YWViMDhLRU9PZ3c

  • COBOL

    COBOLから.NETへ移す作業をしております。 以下の点で詰まりました。 1、pic X(03) COLUMN 7. このうち、COLUMNは何をしているのでしょうか? 調べてもわかりませんでした。 2、 MOVE ZEROとイニシャライズの違いについて MOVE R-TBL TO ZEROとINITIALIZE R-TBL 実際に何が違うのでしょうか? R-TBL内にname pic X(08)という変数と number pic 9(2)という変数があったとすると ZEROの方は name⇒"00000000" で number⇒0 INITHLIZEの方は name⇒""  で number ⇒ 0 でしょうか? 3、HIGH-VALUEについて HIGH-VALUEが取りうる最大値を表すことはわかりました。 VBでもC#でもchar.MAXVALUEみたいに取れます。 name pic X(10)にHIGH-VALUEを入れるとすると.NETで実現しようとすると string name = char.MAXVALUEとなります。 これを 01 R-TBL. 02 box PIC 9(5). 02 id PIC 9(5). に代入したいのですがうまく出来ません。 どうすればよいのでしょうか?

  • Java・Cobolの連携方法

    JavaからCobolを起動させようとしています。 Java側のロジックについていろいろ調べていますが方法 が見つからず悩んでいます。 唯一、以下のURLの情報が参考になると思ったのですが、 必要なJarファイルがどうしても見つかりません。 参考にしたURL http://www.microfocus.co.jp/manuals/NE/books/JavaAddPack/opjaco.htm みつからないJarファイル mfcobol.jar 他の連携方法、またはmfcobol.jarの入手方法をご存知でしたら、どうかよろしくお願いします (__)

専門家に質問してみよう