×
Samples Blogs Make Payment About Us Reviews 4.9/5 Order Now

Program To Implement Employee Management System Assignment Solution

June 14, 2024
Dr. Nicholas Scott
Dr. Nicholas
🇯🇵 Japan
Python
Dr. Nicholas Scott, a distinguished Computer Science expert, holds a PhD from Tokyo University, Japan. With an impressive 8 years of experience, he has completed over 600 Python assignments, showcasing his unparalleled expertise and dedication to the field.
Key Topics
  • Instructions
  • Requirements and Specifications
Tip of the day
Start with basic image processing concepts like color spaces and transformations. Practice simple OpenCV examples to build confidence before tackling complex tasks.
News
In 2024, the release of the 'AsyncIO Toolkit' has made asynchronous programming in Python more efficient. Similarly, 'React Quantum' introduces quantum computing concepts to JavaScript, expanding learning opportunities for students.

Instructions

Objective

Write a python homework to implement employee management system.

Requirements and Specifications

program-to-implement-employee-management-system-in-python (1)
program-to-implement-employee-management-system-in-python 1 (1)
program-to-implement-employee-management-system-in-python 2 (1)

Source Code

import os import re import datetime import sys if __name__ == '__main__': # PART 1 """ homeFolder = 'C:\\' userDir = os.getcwd() desktopPath = os.path.join(homeFolder, 'Users', userDir, 'Desktop') os.chdir(desktopPath) """ # PART 2 # First, print header print("{:>20s}".format('-----------------------------------')) print("{:>20s}".format('--- AIST 2120 ---')) print("{:>20s}".format('--- Programming Assignment 6 ---')) print("{:>20s}".format('--- CSV and JSON Files ---')) print() print(' ********** MOUNTAINER DOGS **********') print(' ***** *****') print('**** ANNUAL SALARY CALCULATIONS AND PROCESSING ****') print() print("The current working directory is ... ", os.getcwd()) # PART 3 print("BEGIN RPCOESSING .... ") input_filename = 'EmpInfCur.txt' # Open file fin = open(input_filename, 'r') # Read all lines lines = fin.readlines() # Skip first line because this one contains headers lines.pop(0) # Create a list to store the lines with correct data correct_lines = list() # Loop over the lines and if we found a line containing a SQL code, delete it for i in range(len(lines)): if re.search(r'(?=.*select)(?=.*from)', lines[i].lower()): print("=> FOUND SQL INJECTION:", lines[i].strip()) print('\t\tSQL Removed') print() else: correct_lines.append(lines[i]) # Now, get current month and year so we can create the output file name date = datetime.datetime.now() month = date.strftime("%B")[:3] # Get the first three letters only # Get year year = date.now().year # Get day day = date.now().day # Get month id month_id = date.now().month # PART 4 # Create output filename output_filename = "EmpPay" + month + str(year) + ".csv" # Open file fout = open(output_filename, 'w+') # Write header fout.write("NAME,CURRENT-SALARY,BONUS,NEW-COMPENSATION\n") # Create variables to store the company total number of employees, salary, bonuses, etc total_employees = 0 total_salary = 0 total_bonuses = 0 total_compensations = 0 # Now, extract employees name and salary employees = list() for line in correct_lines: line = line.strip() # The lines are separated by \t but some ones are separated by more than one \t, so # using regex, we can remove all extra \t between words line = re.sub('\t+','\t', line) # Split row = line.split('\t') #print(row) # Get name, jobtitle and salary name = row[0] job = row[1] # Take the salary string and remove the commas salary_str = row[2].replace(',', '') salary = float(salary_str) # Calculate bonuts as 5% of the salary bonus = salary*0.05 # Create the line to be written in the output file newline = "{0},{1:.2f},{2:.2f},{3:.2f}\n".format(name, salary, bonus, salary+bonus) total_employees += 1 total_bonuses += bonus total_salary += salary total_compensations += (salary + bonus) # Write to ouput file fout.write(newline) # Write totals newline = "{0},{1:.2f},{2:.2f},{3:.2f}".format(total_employees, total_salary, total_bonuses, total_compensations) fout.write(newline) # Close file fout.close() # Now, read the output file fin = open(output_filename, 'r') print("UPDATED COMPENSATION VERIFIED from " + output_filename + ":") print() # Read lines lines = fin.readlines() # Skip first line lines.pop(0) # Get last line with totals totals = lines.pop(len(lines)-1) # Print header print("{:>15s} {:>20s} {:>20s} {:>20s}".format("NAME", "CUR SAL", "BONUS", "TOTAL COMP")) for line in lines: # Strip line = line.strip() # Split row = line.split(',') name = row[0] salary = float(row[1]) bonus = float(row[2]) compensation = float(row[3]) print("{:>15s} {:>20.0f} {:>20.0f} {:>20.0f}".format(name, salary, bonus, compensation)) print() # Get totals row = totals.split(',') total_employees = int(row[0]) total_salary = float(row[1]) total_bonuses = float(row[2]) total_compensations = float(row[3]) # Print totals print("{:>15s}".format("TOTALS")) print("{:>15s} {:>5.0f} {:>20.0f} {:>20.0f} {:>20s} {:>5.0f}".format("Num. Emps.:", total_employees, total_salary, total_bonuses, "New COMP TOT:", total_compensations)) # Now, store date in a JSON file jsonfile = open('dates.json', 'r+') # Read content content = jsonfile.read() if len(content) > 0: jsonfile.write(',\n') jsonfile.write('{\n\t"day": ' + str(day) + ',\n') jsonfile.write('\t"month": "' + month + '",\n') jsonfile.write('\t"year": ' + str(year) + '\n}') jsonfile.close() print() print(f"JSON FILE has been WRITTEN. It should contain {month_id}/{day}/{year}.") print(f'*** SALARY OPERATIONS FOR {month_id}/{year} COMPLETE ***') print() print("Press any key to exit") # Now, exit sys.exit()

Similar Samples

Check out our programming homework samples to see the high-quality solutions we provide. Each sample demonstrates our expertise in various programming languages and problem-solving skills. These examples highlight our dedication to helping you achieve top grades in your assignments.