COBOL 85是或否输入验证

时间:2014-01-28 10:39:29

标签: cobol85

我只想知道如何确保用户输入的输入仅为Y,Y,N或n。

我使用了这段代码:

01 ANSWER                PIC X.
    88 VALID-ANSWER      VALUE "Y" "y" "N" "n".

但它仍然不起作用。用户仍然可以键入其他字符。 任何帮助将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:0)

我通过执行执行循环来解决此问题:

at WORKING-STORAGE:
    01 ANSWER PIC X.

at PROCEDURE:
    PERFORM UNTIL ANSWER = "y" OR = "Y" OR = "n" OR = "N"
       DISPLAY "Question (y/Y/n/N) :"
       MOVE SPACE TO ANSWER
       ACCEPT ANSWER
    END-PERFORM.
    IF ANSWER = "y" OR "Y"
       do-something
    ELSE
       do-something-else
    END-IF

我希望这会有所帮助。

答案 1 :(得分:-1)

除了大写之外,您无法限制用户输入。 你能做的是:

在工作 - 存储:

01 ANSWER           PIC X.

程序:

ACCEPT ANSWER CONTROL "UPPER".

这将确保无论用户输入什么,它都是完整的大写。然后你只检查“Y”:

IF ANSWER = "Y"
  (do something)
ELSE
  (do something)
END-IF

我希望它有所帮助。