КОБОЛ 85 да или нет подтверждение ввода
Я просто хочу знать, как убедиться, что введенный пользователем ввод - это только Y, y, N или n.
Я использовал этот код:
01 ANSWER PIC X.
88 VALID-ANSWER VALUE "Y" "y" "N" "n".
Но все равно это не работает. Пользователь по-прежнему может печатать другие символы. Любая помощь будет оценена. Заранее спасибо.
1 ответ
Я решаю это с помощью цикла выполнения:
на РАБОЧЕМ ХРАНЕНИИ: 01 ОТВЕТИТЬ ПОС. X. в ПРОЦЕДУРЕ: ВЫПОЛНИТЬ ДО ОТВЕТА = "y" ИЛИ = "Y" ИЛИ = "n" ИЛИ = "N" ДИСПЛЕЙ "Вопрос (г / г / н / н):" ПЕРЕМЕСТИТЬ ПРОСТРАНСТВО, ЧТОБЫ ОТВЕТИТЬ ПРИНЯТЬ ОТВЕТ END-ВЫПОЛНИТЬ. ЕСЛИ ОТВЕТ = "y" ИЛИ "Y" сделай что-нибудь ELSE сделай что-то-другое END-IF
Надеюсь, это поможет.
Вы просто не можете ограничить пользовательский ввод, кроме прописных. Что вы можете сделать, это:
На рабочем-хранение:
01 ANSWER PIC X.
При процедуре:
ACCEPT ANSWER CONTROL "UPPER".
Это будет гарантировать, что независимо от того, что пользователь вводит, он в верхнем регистре. Тогда вы проверяете только "Y":
IF ANSWER = "Y"
(do something)
ELSE
(do something)
END-IF
Я надеюсь, что это помогает.