gpt4 book ai didi

if-statement - 在语句中使用数字或字母代码;用于 "if"语句

转载 作者:行者123 更新时间:2023-12-04 18:21:11 25 4
gpt4 key购买 nike

我想知道如何在 COBOL 中做某事。我正在尝试编写一个程序,该程序使用 if 语句从数据文件中输出匹配的数据记录。但是我还没有这样做,但我需要做的是为不同的数据类型编写代码。
blue = 1brown = 2 .

所以我像这样尝试过,但它不起作用。这是我在主记录中声明的:

01  COLOR-IN    PIC (9)
05 BLUE VALUE 1.
05 BROWN VALUE 2.

然后我想我可以写一个 if 语句
IF COLOR-IN = BLUE 
PERFORM 200-OUTPUT.

所以我要问的是如何使颜色等于数字或字母代码。我应该写什么样的陈述。

我想到了。我使用了 88 条语句。像这样
88      MALE     VALUE 'M'.

但我还有另一个问题。输出确实列出了符合“if”语句标准的记录,但是,我需要在程序中编写实际的头发和眼睛颜色,以便在程序执行时打印头发和眼睛的颜色而不是 1 或 2。可以有人给我一个例子或提示如何做到这一点?

最佳答案

+1 用于了解 88 年代。它们非常有用。

您正在寻找与您的值相对应的标签表(数组)。如果您使用字母代码,如您的
88 MALE VALUE 'M' case,那么你的表有一个值和标签的条目。

01  INPUT-VALUE                 PIC X(1).
88 MALE VALUE "M".
88 FEMALE VALUE "F".

01 LABELS-AND-VALUES-AREA.
05 LABELS-AND-VALUES.
07 ONE-LABEL-AND-VALUE OCCURS 2.
09 ONE-LABEL PIC X(6).
09 ONE-VALUE PIC X(1).
05 FILLER REDEFINES LABELS-AND-VALUES
VALUE "MALE MFEMALEF".
01 I PIC S9(4) COMP.
01 DISPLAY-LABEL PIC x(6).

MOVE "?" TO DISPLAY-LABEL
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 2
IF INPUT-VALUE = ONE-VALUE(I)
MOVE ONE-LABEL(I) TO DISPLAY-LABEL
END-IF
END-PERFORM

如果您使用数字作为输入值,您可以跳过查找并直接转到您想要的标签。
01  INPUT-VALUE                 PIC 9(1).
88 MALE VALUE "1".
88 FEMALE VALUE "2".
88 VALID-INPUT VALUE "1", "2".

01 LABELS-AND-VALUES-AREA.
05 LABELS-AND-VALUES.
07 ONE-LABEL-AND-VALUE OCCURS 2.
09 ONE-LABEL PIC X(6).
05 FILLER REDEFINES LABELS-AND-VALUES
VALUE "MALE FEMALE".
01 DISPLAY-LABEL PIC x(6).

IF VALID-INPUT
MOVE ONE-LABEL(INPUT-VALUE) TO DISPLAY-LABEL
ELSE
MOVE "?" TO DISPLAY-LABEL
END-IF

对于这种情况,您可能需要为丢失/未知数据添加一些代码。

更新

我添加了一些代码来处理丢失/未知的数据。

关于if-statement - 在语句中使用数字或字母代码;用于 "if"语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10647611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com