• 締切済み

cobol コンソールからの入力

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

みんなの回答

回答No.3

acceptする変数側をpic x(20)で定義していれば、最大20文字の文字列で受け取れませんか? (無条件に20回acceptする仕組みにしているため、残りの回数分を考慮しなくてはならないだけでは??) 最大文字列以下の文字数で入力が終わるなら、入力完了のキーが何かしらあると思いますけど。 (ENTERキーとか実行キーとか送信キーとか、環境によりますけど)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

普通、無駄打ちしなくても空白になると思いますけど、無駄打ちしないとどうなります?LOW-VALUEが入る?? いずれにせよ、COBOL一般の話と言うより、環境依存の話ですので、実行環境を書かないと。

回答No.1

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

DFD
質問者

補足

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

関連するQ&A