你能在同一行COBOL上接受两个输入吗?

问题描述 投票:1回答:1

这很难解释,但我有两个列,一个是订购的商品,另一个是商品的价格。根据用户需要输入计算机名称及其价格。我遇到的问题是我需要在同一行输入,不知道我是如何对COBOL新手的。它应该是什么样子的例子

订购的商品____价格

电脑:Dell______________ 250.00

我尝试使用

display "ITEMS ORDERED                       Price".
display "Computer: "with no advancing.
   accept DESCRIPTION-OF-LAPTOP with no advancing.
   accept LAPTOP-PRICE.

由于某种原因,这最终会将其置于命令提示符的顶部。

cobol
1个回答
2
投票

使用标准的ACCEPT语句,可以在同一行输入两个(或更多)字段;但是,这被接受为单个数据项,然后必须对其进行解析以分离字段。可以输入选项卡以对齐数据,使其看起来分为两列。

          ITEMS ORDERED            Price
Computer: Dell                    250.00
Computer: HP                      275.00
Computer:

在这些情况下,我使用了三个选项卡。但是,只需要一个空格即可将价格与名称分开。所以条目看起来像这样,仍然被接受:

          ITEMS ORDERED            Price
Computer: Dell                    2.00
Computer: Dell                    20.00
Computer: Dell                    200.00
Computer: Dell                    2000.00
Computer: Dell    2.00
Computer: Dell 20.00
Computer: Dell            200.00
Computer:

在保存数据之前,需要额外的代码来清理,解析和验证。 (为此目的,我使用了大约60行代码。)

使用SCREEN SECTION,定义了每个字段的确切位置和定义,因此列是对齐的,不需要解析,并且简化了验证。

SCREEN SECTION作为依赖于处理器的项目被添加到2002标准中,并不一定适用于每个符合标准的编译器。但是,从20世纪80年代开始,这种特性在编译器中已经以某种形式出现。

© www.soinside.com 2019 - 2024. All rights reserved.