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

      Build a program for a shopping plazz

    Build a program for a shopping plaza. Shopping store which allows its customers to shop in its showrooms. Peter england, levis, and kids kemp and finally generate the bill amount to be paid

      Program to give and take advice on program writing

    Write down the program which gives and takes advice on program writing. Program starts by writing the piece of advice to screen and asking user to type in different advice.

      What criterion is being used to determine the best estimates

    What we would like to do is create similar tables in an .rtf file that produces the same statistics for any numerical value against each level of a know classification/factor from any data set we wish to inspect.

      Design classes account-checkingaccount and savingsaccount

    Design and write 3 classes - Account, CheckingAccount, and SavingsAccount. Have CheckingAccount and SavingsAccount inherit from Account.

      Write a program to find a baseball players batting average

    Write a program to find a baseball player's batting average. The program should ask the user to enter the number of times the player was at bat and the number of hits he got. It should then show his batting average to four decimal places.

      Explain what purpose it serves

    List three debugging techniques, within the debugger, that can be used to locate logical error in the Java code. For each of these tools, explain what purpose it serves and how it relates to the debugging process

      Design a website to allow calculation of areas

    Design a website to permit calculation of areas. A radio button list can be used to allow the user select what type of area to be calculated. Once the selection is done, the input text boxes should be displayed with the proper labels.

      Write application that inputs five number

    Use a one-dimensional array to solve the following problem: Write an application that inputs five numbers, each of which is between 10 and 100, inclusive.

      Project code in visual studio console application

    Project code in visual Studio Console application and class library and the PADI project aims at implementing a simpli ed distributed software transactional system.

      Demonstrate an understanding of static variables and methods

    Goal: The purpose of this lab is to demonstrate an understanding of static variables and methods. Problem: You are working for Plastercard, Inc., a company that specializes in credit cards for handymen

      Write a program that prompts for and reads an amount

    Write a program that prompts for and reads an amount (integer) for Canadian dollars and convert the amount to Euros. The exchange rate is 1.

      What is a feature of good program design

    Variables declared within a module have what scope? In what way do named constants differ from variables? What is a feature of good program design

    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