Nick-O-Rama

assignment-11

Oct 22nd, 2015
608
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.        identification division.
  2.        program-id. Program1.
  3.  
  4.        environment division.
  5.        input-output section.
  6.        select reg-table assign to "C:\temp\registration-table.txt"
  7.            organization is line sequential.
  8.        select reg-trans assign to "C:\temp\registration-trans.txt"
  9.            organization is line sequential.
  10.        select reg-report assign to "C:\temp\registration-report.txt"
  11.            organization is line sequential.
  12.        configuration section.
  13.  
  14.        data division.
  15.        file section.
  16.        fd reg-table.
  17.        01 in-table.
  18.            05 in-vehicle-class        pic xx.
  19.            05 in-rate                 pic v999.
  20.        fd reg-trans.
  21.        01 in-trans.
  22.            05 reg-vehicle-class        pic xx.
  23.            05 vehicle-name             pic x(20).
  24.            05 vehicle-weight           pic 99999.
  25.            05 vehicle-desrip           pic x(12).
  26.        fd reg-report.
  27.        01 out-record.
  28.            05                          pic x(7).
  29.            05 out-vehicle-class        pic xx.
  30.            05                          pic x(7).
  31.            05 out-vehicle-name         pic x(20).
  32.            05                          pic x(4).
  33.            05 out-vehicle-weight       pic z9999.
  34.            05                          pic x(5).
  35.            05 out-fee                  pic $zz,zzz.99.
  36.            05                          pic x(20).
  37.        working-storage section.
  38.        01 top-heading.
  39.            05                          pic x(20) value spaces.
  40.            05                          pic x(19) value
  41.                                        "REGISTRATION REPORT".
  42.            05                          pic xx value spaces.
  43.            05 c-day                    pic xx/.
  44.            05 c-month                  pic xx/.
  45.            05 c-year                   pic xxxx.
  46.            05                          pic xxx value spaces.
  47.            05                          pic x(5) value "PAGE ".
  48.            05 page-num                 pic 99 value zero.
  49.            05                          pic x(19) value spaces.
  50.        01 temp-date.
  51.            05 t-year                   pic xxxx.
  52.            05 t-month                  pic xx.
  53.            05 t-day                    pic xx.
  54.        01 rec-heading.
  55.            05                          pic xx value spaces.
  56.            05                          pic x(13) value "VEHICLE CLASS".
  57.            05                          pic xx value spaces.
  58.            05                          pic x(4) value "NAME".
  59.            05                          pic x(19) value spaces.
  60.            05                          pic x(6) value "WEIGHT".
  61.            05                          pic x(5) value spaces.
  62.            05                          pic x(3) value "FEE".
  63.            05                          pic x(26) value spaces.
  64.        01 rate-table.
  65.            05 rt-tbl occurs 10 times indexed by ind.
  66.                10 tbl-class            pic xx.
  67.                10 tbl-rate             pic v999.
  68.        01 x                            pic 99 value zero.
  69.        01 eof                          pic x value "N".
  70.        procedure division.
  71.        100-main.
  72.            open input reg-table reg-trans
  73.                output reg-report
  74.            perform 200-write-heading
  75.            perform varying x from 1 by 1 until x > 10
  76.                read reg-table
  77.                perform 250-fill-table
  78.            end-perform
  79.            perform until eof = "Y"
  80.                read reg-trans
  81.                    at end move "Y" to eof
  82.                    not at end
  83.                        perform 300-write-record
  84.                end-read
  85.            end-perform
  86.            close reg-table reg-trans reg-report
  87.            goback.
  88.        150-get-date.
  89.            move function current-date to temp-date
  90.            move t-year to c-year
  91.            move t-month to c-month
  92.            move t-day to c-day.
  93.        200-write-heading.
  94.            perform 150-get-date
  95.            move top-heading to out-record
  96.            write out-record
  97.            move rec-heading to out-record
  98.            write out-record after advancing 2 lines
  99.            move spaces to out-record
  100.            write out-record after advancing 1 line.
  101.        250-fill-table.
  102.                move in-vehicle-class to tbl-class(x)
  103.                move in-rate to tbl-rate(x).
  104.        300-write-record.
  105.            move spaces to out-record
  106.            set ind to 1
  107.            search rt-tbl
  108.                at end display "vehicle class not found"
  109.                when tbl-class(ind) = reg-vehicle-class
  110.                    compute out-fee = tbl-rate(ind) * vehicle-weight
  111.                    move reg-vehicle-class to out-vehicle-class
  112.                    move vehicle-name to out-vehicle-name
  113.                    move vehicle-weight to out-vehicle-weight
  114.                    write out-record
  115.            end-search.
  116.        end program Program1.
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×