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

      Create a new class called soda

    Create a new class called Soda that is also a caffeinated beverage by default it will have no option for condiments. Have it called in main. Main also calls the old addLemon function on Tea so that the customer gets two lemons. Use an adapter to s..

      Write a function calculating the length of the hypotenuse

    (Hypotenuse Calculations) Write a function calculating the length of the hypotenuse of a right triangle (have two sides already). Determine the length of the hypotenuse for each of the given triangles.

      Use a switch statement to calculate a letter grade

    Use a switch statement to calculate a letter grade based on a numeric average up to 100. Allow the numeric score to be entered in a text field. A Grade button will display the corresponding letter grade in a label.

      Write program to accept data in array with three structures

    Develop and make a program which will accept above data in array with three structures. Once data have been entered, display report listing each employee number and salary of employee.

      Smallest and largest values in element floating-point array

    Copy 11-elemts array source into first portion of 34-element array sourceCopy. Find out the smallest and largest values in 99-Element floating-point array data.

      Create a program for telephone lookups

    Create a program for telephone lookups. Your tasks are to allow the user find a number that is associated with a name and if given a number, find the name associated with it (normal and reverse lookups).

      Write calendar application which allows user to select date

    The purpose of this lab is to give you a chance to use some of the data stream tools we have been discussing in a simple application. The assignment is to write a calendar application which allows the user to select a date, and either retrieve a p..

      Write program which uses while loops to input two integers

    Write the program which uses while loops to perform the following steps: prompt the user to input two integers: firstNum and secondNum.(firstNum must be less than secondNum.

      Write a program that plays tic-tac-toe

    Write a program that plays tic-tac-toe. The tic-tac-toe game is played on a 3 × 3 grid. The game is played by two players, who take turns. The first player marks moves with a circle, the second with a cross.

      Design a driver to test implementation of program

    Design a driver to test your implementation. Add various random elements to heap, and then remove & display smallest element.

      Discuss the features of object oriented programming language

    Discuss the features of object oriented programming languages. A perfect square is a number that can be expressed as the product of two equal integers. Draw a flowchart, and write a corresponding class oriented program to check if any entered numbe..

      Write the ruby source code for problem

    Write the Ruby source code for Problem - Write a PhoneContact class that gets initialized with a phone number and a label.

    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