Project using awk

 
Thread Tools Search this Thread
Homework and Emergencies Homework & Coursework Questions Project using awk
# 1  
Old 04-23-2016
Project using awk

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!

1. The problem statement, all variables and given/known data:

) Your mission is to create an awk file that will report employee name, state, gross pay, taxes, and netpay in a specific format. The input file has the following fields:Name
State

Pay Rate
Hours Worked
Overtime Hours

There is math involved. The pay rate is the hourly pay rate – different for each employee. Overtime

hours are paid at 1.5 times base rate ((OT Hours * 1.5) Pay Rate). Gross Pay = (Hours Worked +
(Overtime Hours * 1.5)) * Pay Rate. Taxes are computed at 8% (0.08) for State = MO and 7% for State
= KS. Net Pay = Gross Pay - Taxes
The input file is: /home/faculty/hbecker3/projects/p5/payroll
The output should look like the following:

Code:
Name             State
------------       -- 
Sam Smith       MO
Gross Pay:      $1690
Taxes:          $135.2
Net Pay:        $1554.8

(Formatting's a bit off but it needs to be aligned)

[/FONT]
Send me the link to your awk file (I will run it with the awk -f command).


2. Relevant commands, code, scripts, algorithms:

None, just needs to be in an awk format.


3. The attempts at a solution (include all code and scripts):
Code:
Awk BEGIN{
Getline payroll
{NR > 1}
Overtime = ($5 * 1.5) * $3;
GrossPay = ($4 + (Overtime * 1.5)) * $3;
Taxes = {MO|KS , .08|.07}
NetPay = GrossPay - Taxes

{print “Name\tState\n\-------\t--”}
{printf(%.2f\n) “$1\t$2\n\Gross Pay: \tGrossPay\nTaxes: \tTaxes\nNet Pay: \tNetPay} >
project5_q2

4. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):

Johnson County Community College
Overland Park, KS
United States Of America
Hugo Becker
Course CIS 204 377
CRN: 12520

Note: Without school/professor/course information, you will be banned if you post here! You must complete the entire template (not just parts of it).

Last edited by vbe; 04-23-2016 at 11:41 AM..
# 2  
Old 04-23-2016
Well what we appreciate here also is when you submit your code, that you give the output produced, and eventually your comments on it explaining what you think happened, or what you cant achieve or do not understand
We are not going to give you the solution but more, clues or help you get there...
# 3  
Old 04-23-2016
I definitely understand, I rather just have some help.

Output:
Code:
awk: sm_p5_2.awk:6: Taxes = {MO|KS , .08|.07}
awk: sm_p5_2.awk:6:         ^ syntax error
awk: sm_p5_2.awk:6: Taxes = {MO|KS , .08|.07}
awk: sm_p5_2.awk:6:             ^ syntax error
awk: sm_p5_2.awk:9: {print “Name\tState\n\-------\t--”}
awk: sm_p5_2.awk:9:        ^ invalid char '�' in expression
awk: sm_p5_2.awk:9: {print “Name\tState\n\-------\t--”}
awk: sm_p5_2.awk:9:        ^ syntax error

Comments: I think what happened is either my calculations aren't properly formatted, or the printf can't get the information correctly.

You may want to put a comments section in the template then, just as added help. I appreciate any help I can get. And If I need to reformat my post let me know Smilie

Last edited by Scrutinizer; 04-23-2016 at 12:32 PM.. Reason: code tags
# 4  
Old 04-23-2016
Hi,

The is a wrong double quote (coming from Microsoft Word?) you need to use " .

The general format in the mid section is :
Code:
condition { action }

so
Code:
{NR > 1}

makes no sense, since it is a condition, not an action
Also, in the BEGIN {} section, NR is always 0

Code:
Taxes = {MO|KS , .08|.07}

I don't know what you are doing here. If it is a string assignment then you need to use double quotes..

It is good practice to properly indent to improve readability, but also so you can easily see if the format is correct and the right number of curly braces have been used.

Look for the difference between BEGIN, END and middle section...

Last edited by Scrutinizer; 04-24-2016 at 08:53 AM..
# 5  
Old 04-24-2016
Thank you Scrutinizer for the reply!

It's coming from the email i'm passing back and forth from my professor so yes the '' should be ".

Ah, ok that makes sense with NR = 0 during the BEGIN section since that occurs before the function. Taxes is supposed to put in .08 if in MO or .07 in KS, do i need to make it an if else statement or can i just include that in the block with " ?

Code:
Awk BEGIN{
   Getline payroll}
{
    Overtime = ($5 * 1.5) * $3;
    GrossPay = ($4 + (Overtime * 1.5)) * $3;
    if (Taxes = MO)
         {tNum = .08}
    else if (Taxes = KS)
         {tNum = .07}
    NetPay = GrossPay - tNum
}
    {print “Name\tState\n\-------\t--”}
    {printf(%.2f\n) “$1\t$2\n\Gross Pay: \tGrossPay\nTaxes: \ttNum\nNet Pay      \tNetPay} >
project5_q2

I'm getting syntax errors still but no idea how to fix them.
# 6  
Old 04-24-2016
It is a bit difficult to comment on an incomplete script without any input samples, and the error msgs missing as well as some indicators where you are stuck. Which is what vbe tried to convey, I think.

A few observations on your script in post#5, as there are syntactical errors, plus semantical / logical / mathematical errors:
- awk (shell/*nix command) needs to be lower case (unless you aliased it)
- awk accepts a short program in its first parameter, so you must make sure the script is ONE string constant (e.g. by single quoting it)
- there is no input file to awk.
- getline (awk "action") needs to be lower case
- Overtime is weighted twice with its weighting factor.
- "equal" testing is done with == ; a single = is an assignment.
- wrong algorithm for the NetPay
- although pointed to by Scrutinizer, you're STILL using the char.
- your printf statement can't work: the format string is not sufficient, and the variables are not handled correctly (separate them from the format string)

And, what are you doing with the payroll variable read in the BEGIN section?
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

FINDING DUPLICATE PROJECT ( directory project )

I have a project tree like that. after running find command with the -no -empty option, i am able to have a list of non empty directory DO_MY_SEARCH="find . -type d -not -empty -print0" MY_EXCLUDE_DIR1=" -e NOT_IN_USE -e RTMAP -e NOT_USEFULL " echo " " > $MY_TEMP_RESULT_1 while... (2 Replies)
Discussion started by: jcdole
2 Replies

2. News, Links, Events and Announcements

A new project was posted on The UNIX and Linux Forums project board.

A new project was posted on your project board. Project title: Bash Shell Tutoring Estimated Budget: $50/hr Start date: Immediately Required skills: Linux, Bash, Shell, UNIX I work as a datawarehouse designer and developer. Although I usually stick to the role of an analyst,... (0 Replies)
Discussion started by: Neo
0 Replies

3. UNIX and Linux Applications

Need ideas for graduation project based on unix or linux Need ideas for graduation project based on

Dear all, i am in last year of electronics department in engineering faculty i need suggestions for a graduation project based on unix or free bsd or linux and electronics "embedded linux " i think about embedded unix for example or device drivers please i need helps (1 Reply)
Discussion started by: MOHA-1
1 Replies

4. Solaris

what is the use of /etc/project file and project administration commands?

i have two doubts.. 1. what is the use /etc/project file. i renamed this file and when i tried to switch user or login with some user account the login was happening slowly. but when i renamed it to original name it was working fine... why so? 2. unix already has useradd and grouadd for... (4 Replies)
Discussion started by: chidori
4 Replies

5. Shell Programming and Scripting

awk, shell script reverse engineering app generator - project

Hi, this is fantastic forum for shell programming and scripting, so please let me to introduce you with my very old concept to have web form/s with radio, select, input fields and have an application generating valid, syntax error free scripting code. The same or alike questions are asked... (2 Replies)
Discussion started by: darius2
2 Replies

6. Solaris

SSH doesn't pick up user's project from /etc/project

We have a system running ssh. When a user logs in, they do not get the project they are assigned to (they run under "system"). I verify the project using the command "ps -e -o user,pid,ppid,args,project". If you do a "su - username", the user does get the project they are assigned to (and all... (2 Replies)
Discussion started by: kurgan
2 Replies

7. Programming

First Project help

People I am a new developer and this is my first project so i need your help.I have completed the connection part of my chat server now i need to develop it further for which i need help from someone so please help me out. (6 Replies)
Discussion started by: arjunjag
6 Replies

8. Programming

a little project i need some help with

Hell everyone, i am trying to write a program for work, i am doing an internship there, where the program will list all the files on the Unix Server(soloaris 9) for all the engineers to look at. The code i have so far works to display all files, but the program also needs to check and see if the... (3 Replies)
Discussion started by: ShenTech
3 Replies

9. Programming

Project Help

hi all. Im not sure whether this is the correct forum to post in, but here goes. I've been given my first year (uni) project c++, a pretty small one really. Problem is I have written a code, but I havent tested or debugged it (dont ask). Can someone check it and correct any errors I have... (1 Reply)
Discussion started by: Shade
1 Replies
Login or Register to Ask a Question