欢迎来到天天文库
浏览记录
ID:21817589
大小:745.00 KB
页数:26页
时间:2018-10-24
《cobol编程实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一个COBOL的编程实例通常一个程序分为几个处理过程,然后有序地组合起来使用,以实现我们所希望的处理结果。这里,给出一个销售公司对销售数据处理的范例,通过实际的编程,掌握COBOL编程的技巧和步骤。销售数据处理系统简介Ø用户需求(1)某销售公司有若干个销售商店,公司想获得每个商品的销售去向和每个商店的销售额等信息。(2)商品的库存管理在一个固定地方进行管理。经营者为掌握库存销售情况,想及时获得有关定货信息。为满足上述(1)和(2)的需求,首先:①需要具体地确定什么样的信息,采用什么样的手段来获取。例如,
2、定货信息包含什么内容、日处理做什么、月处理做什么等。②需要搞清为获取①中所需信息,什么样的数据适合作为输入数据来使用。③决定②中数据文件格式,讨论处理顺序,进而决定程序处理所用的文件。(过程设计、文件设计)④处理过程中,如果需要进行数据合并、排序的话,必须进行数据代码化处理(代码设计)根据上述思考,决定编程的具体工作。此例题是一个批处理例题。既将每周一次从销售店收集到的销售数据进行汇总合计,作成销售额统计表,然后根据销售额统计表获取库存主文件、供货商主文件信息后打印定货清单。注:此程序的部分编程技巧不是
3、最优,但可以分为如下四个处理步骤来实现。l处理步骤1:数据合法性检查和排序处理从商店获取的数据可能有非法数据,所以必须进行数据合法性检查。对查出的错误数据,将其打印到“错误数据清单”上并要求修改这些错误数据。对检查无误(正确)的数据,按商品代码进行排序,以便进行后续处理。l处理步骤2:统计报表的制作将输入的销售信息作成统计表。统计表上要打印出各商店按商品代码汇总的销售额,并把商店总销售额用”*”表示出来。l处理步骤3:更新处理库存主文件把按商品代码排序的销售文件作为交易,更新库存主文件的当前库存量。由于
4、在销售文件中,可能存在同一商品代码的多条数据记录,所以需要做N:1的数据合并处理。l处理步骤4:制作定货清单在处理步骤3中,当新库存主文件产生的同时,要将当前库存量与最低库存量进行比较后,将需要定货的商品代码清单打印出来。阅读如下处理内容,编制处理步骤1的流程图。[处理内容]处理步骤1就是先前所述的一系列处理程序的入口,它为后续处理提供必要的数据。具体说来,就是对输入文件的数据进行合法性检查和排序处理。l数据检查项有如下3种:①销售金额的数据合法性检查②销售数量的数据合法性检查③商店代码存在与否的检查对
5、第③项加以说明,如果在商店代码参数表中无法查到所读入的商店代码,则认为所读入的商店代码无效。检查出的所有错误数据都要输出到“错误数据清单”上。一条数据记录有多个数据项出现错误时,要对每个数据项进行标识,并在其数据项后打印“*”。l处理步骤1的输入/输出数据格式如下所示,输入文件的各记录上写明了每个商店的商店代码。★输出文件的格式与输入文件的格式相同l错误数据清单的输出格式如下所示,每页打印15条记录。l商店代码的格式如下,商店代码参数表按升序排列已被存储于磁盘中。l为了方便处理步骤2以后的处理,将已检查
6、无误的数据(正确数据),以商品代码为键值升序排列。l排序处理过程,请使用COBOL的排序语句。解说抓住程序处理特征,考虑程序处理效率在处理步骤1的数据检查处理中,当一条记录出现多个数据项错误时,为了象差错表清单那样,在每个错误数据项下打印“*”号,可以进行串行数据检查处理。通常,如果使用了过多的改变处理流程的开关(流程图上,为检出有错误数据而设置的错误标志)会导致程序处理流程的复杂化。开关是为了使程序处理清晰化而使用的东西。再有,查错③的处理中,需要对表进行检索处理。对表的检索处理有如下两种方式:一种是
7、在程序中使用下标对表的元素进行控制,另一种则是使用含有索引的SEARCH语句来检索。索引即不能用于表操作以外,也不能用于所定义的表以外,因此它对表的检索效率最高,并且不容易引起程序错误。在这个处理中,由于商店代码参数表是按升序排列,所以使用了检索速度比较快的对分查找方式(SEARCHALL)。【解答例】根据解说过的流程图,编写处理步骤1的程序(过程部)。[程序说明]l使用下面已定义好的数据部。l使用SEARCHALL语句对表进行检索l使用COMPUTE语句进行运算处理l使用=,<,>,NOT进行数据项间
8、的比较处理[数据部定义]DATADIVISION。FILESECTION。FDIN-FLABELRECORDSTANDARD。01IN-REC。定义输入文件02SYOU-CODEPICX(6)。02URI-KINPIC9(7)。02URI-SUPIC9(6)。02MISE-CODEPICX(2)。FDON-FLABELRECORDSTANDARD。01ON-RECPICX(21)。SDSORT-F。01SORT-REC。02SYOU-COD
此文档下载收益归作者所有