Nick-O-Rama

assignment-9

Oct 9th, 2015
596
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 item-master assign to "C:\temp\item-master.txt"
  7.                                    organization is line sequential.
  8.        select item-output assign to "C:\temp\item-record.txt"
  9.                                    organization is line sequential.
  10.        configuration section.
  11.        
  12.  
  13.        data division.
  14.        file section.
  15.        fd item-master.
  16.        01 item-file.
  17.            05 item-no          pic x(5).
  18.            05 item-descrip     pic x(20).
  19.            05 item-cost        pic 999v99.
  20.        fd item-output.
  21.        01 item-record.
  22.            05                  pic x(37).
  23.            05 year             pic z9.
  24.            05                  pic x(13).
  25.            05 inf-rate         pic xx.
  26.            05                  pic x.
  27.            05                  pic x(20).
  28.            05 inf-cost         pic zz9.99.
  29.            05                  pic x(49).
  30.        working-storage section.
  31.        01 top-heading.
  32.            05                  pic x(47) value spaces.
  33.            05                  pic x(31) value
  34.            "I N F L A T I O N   R E P O R T".
  35.            05                  pic x(12) value spaces.
  36.            05 c-day            pic xx/.
  37.            05 c-month          pic xx/.
  38.            05 c-year           pic xxxx.
  39.            05                  pic x(22) value spaces.
  40.            05                  pic x(5) value "PAGE ".
  41.            05 page-num         pic 999 value 1.
  42.        01 temp-date.
  43.            05 temp-year        pic xxxx.
  44.            05 temp-month       pic xx.
  45.            05 temp-day         pic xx.
  46.        01 item-no-heading.
  47.            05                  pic x(4) value spaces.
  48.            05                  pic x(13) value "ITEM NUMBER: ".
  49.            05 item-no-out      pic x(5).
  50.            05                  pic x(108) value spaces.
  51.        01 item-descrip-heading.
  52.            05                  pic x(4) value spaces.
  53.            05                  pic x(19) value "ITEM DESCRIPTION:  ".
  54.            05 item-descrip-out pic x(20).
  55.            05                  pic x(87) value spaces.
  56.        01 item-cost-heading.
  57.            05                  pic x(4) value spaces.
  58.            05                  pic x(12) value "ITEM COST:  ".
  59.            05 item-cost-out    pic $$$$.99.
  60.            05                  pic x(107) value spaces.
  61.        01 record-heading.
  62.            05                  pic x(36) value spaces.
  63.            05                  pic x(4) value "YEAR".
  64.            05                  pic x(5) value spaces.
  65.            05                  pic x(14) value "INFLATION RATE".
  66.            05                  pic x(5) value spaces.
  67.            05                  pic x(24) value
  68.            "ITEM COST WITH INFLATION".
  69.            05                  pic x(42) value spaces.
  70.        01 eof                  pic xxx value "YES".
  71.        01 year-num             pic 99 value 1.
  72.        01 rec-count            pic 99 value 1.
  73.        procedure division.
  74.        100-main.
  75.            open input item-master output item-output
  76.                perform 150-get-date
  77.                perform until eof = "NO"
  78.                    read item-master
  79.                    at end move "NO" to eof
  80.                    not at end
  81.                        perform 200-write-headings
  82.                        perform 250-write-record 10 times
  83.                    end-read
  84.                end-perform
  85.            close item-master item-output
  86.                goback.
  87.        150-get-date.
  88.            move function current-date to temp-date
  89.            move temp-day to c-day
  90.            move temp-month to c-month
  91.            move temp-year to c-year.
  92.        200-write-headings.
  93.            move top-heading to item-record
  94.            if rec-count > 5 or rec-count = 1
  95.                write item-record after advancing page
  96.                add 1 to page-num
  97.            end-if
  98.            move item-no to item-no-out
  99.            move item-no-heading to item-record
  100.            write item-record after advancing 2 lines.
  101.            move item-descrip to item-descrip-out
  102.            move item-descrip-heading to item-record
  103.            write item-record
  104.            move item-cost to item-cost-out
  105.            move item-cost-heading to item-record
  106.            write item-record.
  107.            move record-heading to item-record
  108.            write item-record after advancing 1 line
  109.            add 1 to rec-count
  110.            if rec-count > 5
  111.                move 1 to rec-count
  112.            end-if.
  113.        250-write-record.
  114.            move spaces to item-record
  115.            move year-num to year
  116.            if year-num <= 5
  117.                move "8%" to inf-rate              
  118.                compute item-cost rounded = item-cost * 1.08
  119.                move item-cost to inf-cost
  120.                write item-record
  121.            else
  122.                move "6%" to inf-rate
  123.                compute item-cost rounded = item-cost * 1.06
  124.                move item-cost to inf-cost
  125.                write item-record
  126.            end-if
  127.            add 1 to year-num
  128.            if year-num > 10
  129.                move 1 to year-num
  130.            end-if.
  131.        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.

×