Sponsored Content
Top Forums Shell Programming and Scripting Calculate the performance of employee Post 303037621 by rohit_shinez on Thursday 8th of August 2019 06:17:11 AM
Old 08-08-2019
Calculate the performance of employee

Hi Guys,

I need to determine the employee performance and calculate their salaries based on each quarter

Expected output
Code:
enter the no. of Employee  2
2
Enter Employee Name sam
Enter salary 1000
Enter Q1 5
Enter Q2 6
Enter Q3 3
Enter Q4 5
Enter Employee Name anderson
Enter salary 5000
Enter Q1 7
Enter Q2 7
Enter Q3 8
Enter Q4 8
EMPNAME | SALARY | Q1 | Q2 | Q3 | Q4 | Avg Q | Expected Sal | Incremented Sal | Performance |
sam 1000 5 6 3 5 4.0 1040.0 40.0 ON TRACK
anderson 5000 7 7 8 8 7.0 5350.0 350.0 BEST

code in python
Code:
def avg_check(q1,q2,q3,q4) :
    sum = q1 + q2 + q3 + q4
    av1 = float(sum / 4)
    return av1
def check_desc(av1) :
    if av1 >= 7 :
           desc="BEST"
    elif av1 <=7 and av1 >=5 :
           desc="AVG"
    else:
           desc="ON TRACK"
    return desc
details=[ ]
n=input("enter the no. of Employee  ")
print n
for i in range(n):
        name=raw_input("Enter Employee Name ")
        salary=input("Enter salary ")
        q1=input("Enter Q1 ")
        q2=input("Enter Q2 ")
        q3=input("Enter Q3 ")
        q4=input("Enter Q4 ")
        av=avg_check(q1,q2,q3,q4)
        inc_salary=float(salary * av / 100)
        exp_salary=float(salary + inc_salary)
        desc=check_desc(av)
        emp=[name,salary,q1,q2,q3,q4,av,exp_salary,inc_salary,desc]
        details.append(emp)
final=sorted(details, key = lambda x: int(x[6]))
print "EMPNAME | SALARY | Q1 | Q2 | Q3 | Q4 | Avg Q | Expected Sal | Incremented Sal | Performance | "
for i in range(len(final)):
    print " ".join(map(str,final[i]))

Can this be done on shell scripting in efficient way with good formatting of header and column
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

bc calculate problem

Hi , this is the first time i use bc to calculate and i would have decimal result , i use the following : toto=400;scale=1 echo $toto / 1000|bc scale to adjust the numbers after the command would have in this case 0.4 as result and i wonder why i have always 0 as result. Somebody can... (2 Replies)
Discussion started by: Nicol
2 Replies

2. Shell Programming and Scripting

calculate output

I was wondering can anyone give me a clue how to start script which would do the following: I have 2 numbers as input for example: 100 and 1000 and I need to create file and in that file should be written 100 - 199 200 - 299 300 - 399 400 - 499 500 - 599 600 - 699 700 - 799... (3 Replies)
Discussion started by: amon
3 Replies

3. News, Links, Events and Announcements

Announcing collectl - new performance linux performance monitor

About 4 years ago I wrote this tool inspired by Rob Urban's collect tool for DEC's Tru64 Unix. What makes this tool as different as collect was in its day is its ability to run at a low overhead and collect tons of stuff. I've expanded the general concept and even include data not available in... (0 Replies)
Discussion started by: MarkSeger
0 Replies

4. Shell Programming and Scripting

calculate the space

Hi everyone, I need to write a script to calculate the space for sub-folders under /home: Here is the scanrio: cd /home drwxr-xr-x 57 root root 8192 Jan 22 16:13 home_1 drwxrwxrwx 69 root root 8192 Jan 29 10:36 home_2 drwxr-xr-x 97 root root 8192 Nov... (8 Replies)
Discussion started by: za_7565
8 Replies

5. Shell Programming and Scripting

How can i calculate percentage ??

i have 3 files like total.dat=18 equal.dat=14 notequal.dat=16 i need find the equal percentange means: equalpercentage = ($equal.dat / $total.dat * 100) How i can do this ? I tried some of the answers to calculate the percentage in this forums.but it couldn't worked.Some one please... (6 Replies)
Discussion started by: bobprabhu
6 Replies

6. Shell Programming and Scripting

How To Calculate

I have 2 variables in my shell scripts in which i am using awk and calculating 2 files and getting 2 different variable called in_total and out_total. I want to subtract one variable from another so plz tell me how i can do that. Example is: cat in_file | awk -F: '{ in_total += $1 * 86400... (3 Replies)
Discussion started by: krishna_sicsr
3 Replies

7. Shell Programming and Scripting

Calculate age of a file | calculate time difference

Hello, I'm trying to create a shell script (#!/bin/sh) which should tell me the age of a file in minutes... I have a process, which delivers me all 15 minutes a new file and I want to have a monitoring script, which sends me an email, if the present file is older than 20 minutes. To do... (10 Replies)
Discussion started by: worm
10 Replies

8. UNIX for Dummies Questions & Answers

Calculate

i have file input abcedef|wert|13|03|10|04|23|A1|13|05|01|09|31 fsdasdf|ferg|12|04|25|21|21|A1|13|02|26|20|31 dfsfsad|gerg|12|04|25|21|21|A1|13|02|25|25|31 i expect the output abcedef|wert|13|03|10|04|23|A1|13|05|01|09|31|9.516666667... (5 Replies)
Discussion started by: radius
5 Replies

9. Shell Programming and Scripting

Employee records

If there are 2 records for an Employee, How can I choose the one with eff_status = ‘Active' and ignore the eff_status ='Terminated'. if there is only one record, then just write that record regardless of the eff_status. Please assist. (1 Reply)
Discussion started by: Harimalyala
1 Replies
SECURENET(8)						      System Manager's Manual						      SECURENET(8)

NAME
securenet - Digital Pathways SecureNet Key remote authentication box DESCRIPTION
The SecureNet box is used to authenticate connections to Plan 9 from a foreign system such as a Unix machine or plain terminal. The box, which looks like a calculator, performs DES encryption with a key held in its memory. Another copy of the key is kept on the authentica- tion server. Each box is protected from unauthorized use by a four digit PIN. When the system requires SecureNet authentication, it prompts with a numerical challenge. The response is compared to one generated with the key stored on the authentication server. Respond as follows: Turn on the box and enter your PIN at the EP prompt, followed by the ENT button. Enter the challenge at Ed prompt, again followed ENT. Then type to Plan 9 the response generated by the box. If you make a mistake at any time, reset the box by pressing ON. The authentica- tion server compares the response generated by the box to one computed internally. If they match, the user is accepted. The box will lose its memory if given the wrong PIN five times in succession or if its batteries are removed. To reprogram it, type a 4 at the E0 prompt. At the E1 prompt, enter your key, which consists of eight three-digit octal numbers. While you are entering these digits, the box displays a number ranging from 1 to 8 on the left side of the display. This number corresponds to the octal number you are entering, and changes when you enter the first digit of the next number. When you are done entering your key, press ENT twice. At the E2 prompt, enter a PIN for the box. After you confirm by retyping the PIN at the E3 prompt, you can use the box as normal. You can change the PIN using the following procedure. First, turn on the box and enter your current PIN at the EP prompt. Press ENT three times; this will return you to the EP prompt. Enter your PIN again, followed by ENT; you should see a Ed prompt with a - on the right side of the display. Enter a 0 and press ENT. You should see the E2 prompt; follow the instructions above for entering a PIN. The SecureNet box performs the same encryption as the netcrypt routine (see encrypt(2)). The entered challenge, a decimal number between 0 and 100000, is treated as a text string with trailing binary zero fill to 8 bytes. These 8 bytes are encrypted with the DES algorithm. The first four bytes are printed on the display as hexadecimal numbers. However, when set up as described, the box does not print hexadec- imal digits greater than 9. Instead, it prints a 2 for an A, B, or C, and a 3 for a D, E, or F. If a 5 rather than a 4 is entered at the E0 print, the hexadecimal digits are printed. This is not recommended, as letters are too easily confused with digits on the SecureNet display. SEE ALSO
encrypt(2), auth(2) Digital Pathways, Mountain View, California BUGS
The box is too clumsy. If carried in a pocket, it can turn itself on and wear out the batteries. SECURENET(8)
All times are GMT -4. The time now is 10:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy