Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Programming Language Expert

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.

  • Programming Language, Programming

    • Category:- Programming Language
    • Reference No.:- M91564005
    • Price:- $80

    Guranteed 48 Hours Delivery, In Price:- $80

    Have any Question?


    Related Questions in Programming Language

    Background informationthis assignment tests your

    Background Information This assignment tests your understanding of and ability to apply the programming concepts we have covered throughout the unit. The concepts covered in the second half of the unit build upon the fun ...

    1 write a function named check that has three parameters

    1. Write a function named check () that has three parameters. The first parameter should accept an integer number, andthe second and third parameters should accept a double-precision number. The function body should just ...

    Task silly name testeroverviewcontrol flow allows us to

    Task: Silly Name Tester Overview Control flow allows us to alter the order in which our programs execute. Building on our knowledge of variables, we can now use control flow to create programs that perform more than just ...

    Question 1 what is a computer program what is structured

    Question: 1. What is a Computer program? What is structured programming? 2. What is modular programming? Why we use it? 3. Please evaluate Sin (x) by infinite series. Then write an algorithm to implement it with up to th ...

    Extend the adworks applicationi add dialogs to allow the

    Extend the AdWorks application I. Add Dialogs to allow the user to Add, Edit, Read and Delete a Customer and refresh the view accordingly. 1. The user should be able to select a specific customer from the DataGrid and cl ...

    Task arrays and structsoverviewin this task you will

    Task: Arrays and Structs Overview In this task you will continue to work on the knight database to help Camelot keep track of all of their knights. We can now add a kingdom struct to help work with and manage all of the ...

    Task - hand execution of arraysoverviewin this task you

    Task - Hand Execution of Arrays Overview In this task you will demonstrate how arrays work by hand executing a number of small code snippets. Instructions Watch the Hand Execution with Arrays video, this shows how to ste ...

    Question 1 what is hadoop explaining hadoop 2 what is

    Question: 1. What is Hadoop (Explaining Hadoop) ? 2. What is HDFS? 3. What is YARN (Yet Another Resource Negotiator)? The response must be typed, single spaced, must be in times new roman font (size 12) and must follow t ...

    Assignment - horse race meetingthe assignment will assess

    Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

    Assignment - proposal literature review research method1

    Assignment - Proposal, Literature Review, Research Method 1. Abstract - Summary of the knowledge gap: problems of the existing research - Aim of the research, summary of what this project is to achieve - Summary of the a ...

    • 4,153,160 Questions Asked
    • 13,132 Experts
    • 2,558,936 Questions Answered

    Ask Experts for help!!

    Looking for Assignment Help?

    Start excelling in your Courses, Get help with Assignment

    Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

    Ask Now Help with Problems, Get a Best Answer

    Why might a bank avoid the use of interest rate swaps even

    Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

    Describe the difference between zero coupon bonds and

    Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

    Compute the present value of an annuity of 880 per year

    Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

    Compute the present value of an 1150 payment made in ten

    Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

    Compute the present value of an annuity of 699 per year

    Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As