Set fs script before processing records

Assignment Help Programming Languages
Reference no: EM13889920

Assignment:

Given a file of expense entries of the following form :

,2014-01-06,Food,Aldis,26.76
3048,2014-01-06,Home,Bob's Heating,468

Set FS script before processing records. This is also a good place to set up an array of month names in chronological order. Look at split().

The 1st entry is a charge on a debit card and the second entry is for a written check. Individual fields are comma delimited.

  • 1st field is either a number of or blank.
  • 2nd field is date the date in the form yyyy-mm-dd.
  • 3rd field is a general catagory of expense type such as Food or Utility.
  • 4th field is who check is for.
  • 5th is the amount. Write an awk script that reads the file ~berezin/Data/bank.data and accumulates various sums.

    Your script should sum the amount paid by check and by debit separately. Do this by testing if field 1 is empty (debit) or has numbers in it (check).

    Use an associative array to sum expenses on each catagory type. Use field 3, the expense catagory, as the key to select the array element and use field 5, the amount to be accumulated.

    Also, provide a summery of monthly totals by testing field 2 for the month. The month is the middle 2 digits of field2, so -01- is January, -02- is February, etc. You may use either an associative or indexed array. But when you print out report, give month name.

    See below about using substr and sprintf to cut just the month out of the date field and convert the string to a number.

    Most if not all of the output will be done after all data is processed, so most of the print statements will appear in a END actoin block.

    Tricks :

    Use split to create an array of month names. If you do them in chronological order, they will be indexed in that order.

    Use substr to parse out the "2 digit" month number. This will yield 01, 02, etc. which are strings and not nubmers whch is not exactly correct but close. If you cut carefully, you should get just the 2 digits.

    Use sprintf to convert the convert the string number to a real number. sprintf works like printf except the output can be assigned to a variable rather than going to the screen.

    num = sprintf( "%d", strnum );

    If you take the substring you cut from the date field and run it through sprintf, you will get a real number which can be used to index the monthly cost accumulation.

    You can now use a straight index from 1 to 12 to get both the month's name from the month name array and the costs for that month from the monthly cost array with the same index.

    What your output should look like. Make it look nice, but you can change titles and spacing if you want.

    Checks and debits
    Checks :          9478.67
    Debits :          9867.22
    
    Expenses by catagory
    Insurance         3285.00
    Auto               219.23
    Utility           5189.52
    Health             455.02
    Food              7492.91
    Gas                110.27
    Books              170.90
    Computer            37.24
    Utiity             157.76
    Home              2228.04
    
    Expenses by month
    January           2749.11
    February          1387.66
    March             2054.58
    April             1409.43
    May               1269.69
    June              2413.25
    July              2091.96
    August            2303.77
    September         1269.73
    October           1110.81
    November          1085.27
    December           200.63
    

    If you want to try sorting the catagory section, feel free to do so. The class lecture section on predefine variables has an example on using asorti to work with an associative array's keys in ASCII order.

  • Reference no: EM13889920

    Questions Cloud

    Determining the primary action : Evaluated three scenarios described by determining the primary action(s) that you should take to limit liability and impact on operations; thoroughly specified which ethical theory best supports your decision.
    Demands, along with selling price and material costs : The Morning Brew Coffee Shop sells Regular, Cappuccino, and Vienna blends of coffee. The shop's current daily labor cost is $320, the equipment cost is $125, and the overhead cost is $225.
    Prepare a monthly cash budget for citizens produce co-op : Prepare a monthly cash budget for Citizens Produce Co-op for the quarter ended September 30. Should Citizens Produce anticipate taking out a loan during the quarter? If so, how much should it borrow, and when?
    Focus of future developments in the business : This is a prediction of the focus of future developments in the Business Law course 10 years from the present. It includes how it will apply to a student's current or future career, including rationale, research, and if there are any alternative p..
    Set fs script before processing records : Set FS script before processing records. This is also a good place to set up an array of month names in chronological order - you want to try sorting the catagory section.
    Why might you expect there to be economies of scale : Why might you expect there to be economies of scale in airline transportation? How are the development of hub-and-spoke networks related to economies of scale and scope?
    Describe an example of political tides : Describe an example of political tides having sway over public administration decisions. Is a public administrator who alters his/ her position due to political pressures merely responding to the will of the people or neglecting his/ her duties as..
    Complete the anova table : a)Complete the ANOVA table. b)  What is the multiple standard error of the estimate?c) What is R2?
    What would happen to your biome? : What would happen to your biome?

    Reviews

    Write a Review

    Programming Languages Questions & Answers

      Write a haskell program to calculates a balanced partition

    Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

      Create an application to run in the amazon ec2 service

    In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

      Explain the process to develop a web page locally

    Explain the process to develop a Web page locally

      Write functions

    These 14 questions covers java class, Array, link list , generic class.

      Programming assignment

    If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

      Write a prolog program using swi proglog

    Write a Prolog program using swi proglog

      Create a custom application using eclipse

    Create a custom Application Using Eclipse Android Development

      Create a application using the mvc architecture

    create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

      Develops bespoke solutions for the rubber industry

    Develops bespoke solutions for the rubber industry

      Design a program that models the worms behavior

    Design a program that models the worm's behavior.

      Writing a class

    Build a class for a type called Fraction

      Design a program that assigns seats on an airplane

    Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

    Free Assignment Quote

    Assured A++ Grade

    Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

    All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd