重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

accept文でコンソールからの入力を受け付け、通常は20文字を受け付けるが、EXITの4文字が入力された時にはstop runが実行される、という
プログラムを作りたいのですが、EXITの4文字を入力後、残り16文字分の無駄打ちをさせずに済ませる方法はないでしょうか?

A 回答 (3件)

acceptする変数側をpic x(20)で定義していれば、最大20文字の文字列で受け取れませんか?


(無条件に20回acceptする仕組みにしているため、残りの回数分を考慮しなくてはならないだけでは??)

最大文字列以下の文字数で入力が終わるなら、入力完了のキーが何かしらあると思いますけど。
(ENTERキーとか実行キーとか送信キーとか、環境によりますけど)
    • good
    • 0

普通、無駄打ちしなくても空白になると思いますけど、無駄打ちしないとどうなります?LOW-VALUEが入る??



いずれにせよ、COBOL一般の話と言うより、環境依存の話ですので、実行環境を書かないと。
    • good
    • 0

現状、どういう処理にしているのですか?

この回答への補足

現状は、PIC X(1) OCCURS 20の配列を用意し、この配列に
直接 ACCEPT 配列名 で受け取ります。
その後、EXITが入力されたかの判定をするのですが、ここで
IF 配列名 = "EXIT"でSTOP RUNです。
このため、コンソール入力者に無駄な空白を打たせなければならず、
この点を改善したいのですが・・・。

補足日時:2009/05/23 19:05
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!