2014-01-28 4 views
0

Я просто хочу знать, как убедиться, что введенный пользователем ввод - это только Y, y, N или n.COBOL 85 да или нет подтверждение ввода

Я использовал этот код:

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

Но до сих пор она не работает. Пользователь все еще может вводить другие символы. Любая помощь будет оценена по достоинству. Заранее спасибо.

+2

При вводе символов пользователь может ввести то, что они хотят (действительный или недействительный), ваша программа может только подтвердить результат * после того, как * он прочитал текст. Соответствующая проверка будет выглядеть примерно так: «ЕСЛИ ВАРИАНТ-ОТВЕТ, ТОГДА, КАКОЙ-ЛИБО ОТВЕТСТВЕННЫЙ отчет об ошибке END-IF'. BTW - попробуйте пометить ваши вопросы с помощью COBOL, в отличие от COBOL85, многие из нас не наблюдают за COBOL85, но некоторые из них поймут тег COBOL. – NealB

ответ

0

Вы просто не можете ограничить ввод пользователя, за исключением верхнего регистра. Что вы можете сделать это:

На рабочем-Storage:

01 ANSWER   PIC X. 

В процедуре:

ACCEPT ANSWER CONTROL "UPPER". 

Это будет убедиться, что все, что пользователь вводит, это полный прописные. Затем вы проверяете только «Y»:

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

Надеюсь, это поможет.

Смежные вопросы