- 締切済み
cobol コンソールからの入力
accept文でコンソールからの入力を受け付け、通常は20文字を受け付けるが、EXITの4文字が入力された時にはstop runが実行される、という プログラムを作りたいのですが、EXITの4文字を入力後、残り16文字分の無駄打ちをさせずに済ませる方法はないでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
回答No.3
acceptする変数側をpic x(20)で定義していれば、最大20文字の文字列で受け取れませんか? (無条件に20回acceptする仕組みにしているため、残りの回数分を考慮しなくてはならないだけでは??) 最大文字列以下の文字数で入力が終わるなら、入力完了のキーが何かしらあると思いますけど。 (ENTERキーとか実行キーとか送信キーとか、環境によりますけど)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.2
普通、無駄打ちしなくても空白になると思いますけど、無駄打ちしないとどうなります?LOW-VALUEが入る?? いずれにせよ、COBOL一般の話と言うより、環境依存の話ですので、実行環境を書かないと。
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.1
現状、どういう処理にしているのですか?
補足
現状は、PIC X(1) OCCURS 20の配列を用意し、この配列に 直接 ACCEPT 配列名 で受け取ります。 その後、EXITが入力されたかの判定をするのですが、ここで IF 配列名 = "EXIT"でSTOP RUNです。 このため、コンソール入力者に無駄な空白を打たせなければならず、 この点を改善したいのですが・・・。