Cal c входит в бесконечное число l oop [...], это проблема OpenCobolIDE или это код?
Я думаю, что это оба. Основная причина бесконечного l oop, который может произойти без какого-либо дисплея, очень вероятно, что у OCIDE нет соответствующего терминала. Запуск того же самого на отдельном терминале должен привести, по крайней мере, к экрану + принять, прежде чем вы доберетесь до l oop. Если я правильно помню, в настройках OCIDE есть опции для настройки поведения терминала.
Причина, по которой код "выглядит" как бесконечный l oop, (как упоминал @ bruce-martin) неправильная использование абзацев и разделов. Если вы хотите сохранить оба, вам нужно поместить заголовки разделов перед абзацем, поскольку абзац заканчивается, если либо определен новый абзац, либо определен раздел.
Примечание : Использование разделов и абзацев часто определяется компанией / командой: если это не так (как на любом языке программирования), и вы редактируете существующую программу: используйте все, что делает старый код - для нового кода: делайте, как вам нравится , (Мое личное предпочтение состоит в том, чтобы использовать абзацы только тогда, когда я хочу GOTO
их, и всегда использовать EXIT SECTION
, чтобы оставить раздел вместо GOTO mysec-end
)
Для решения возможных проблем: используйте литералы '1'
или цифры c WSS-CHOICE PIC 9
[для терминального ввода-вывода, я бы всегда предпочел alphanumi c + literal]. Как вы уже упоминали, вы смотрите на COBOL в первый раз: обязательно посмотрите EVALUATE WSS-OPERATOR
.