C#计算员工工资.docx

上传人:11****ws 文档编号:3259037 上传时间:2019-05-27 格式:DOCX 页数:11 大小:21.02KB
下载 相关 举报
C#计算员工工资.docx_第1页
第1页 / 共11页
C#计算员工工资.docx_第2页
第2页 / 共11页
C#计算员工工资.docx_第3页
第3页 / 共11页
C#计算员工工资.docx_第4页
第4页 / 共11页
C#计算员工工资.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、某公司雇员(Employee)包括经理(Manager) ,技术人员( Technician)和销售员(Salesman) 。1) Employee 类的属性包括姓名、职工号、工资级别(影响基本工资) ,月薪(基本工资加业绩工资) 。操作包括月薪计算函数(Pay()) ,该函数要求输入请假天数,扣去应扣工资后,得出实发基本工资。2) Technician 类派生的属性有每小时附加酬金和当月工作时数,及工作完成进度系数,业绩工资为三者之积。Technician 类也包括 Pay()函数,工资总额为基本工资加业绩工资。3) Salesman 类派生的属性有当月销售额和酬金提取百分比,业绩工资为两者

2、之积。Salesman 类也包括 Pay()函数,工资总额为基本工资加业绩工资。4) Manager 类派生属性有固定奖金额和业绩系数,业绩工资为两者之积。工资总额也为基本工资加业绩工资。编程实现工资管理。对不同的类的员工,计算相应的工资using System;using System.Collections.Generic;using System.Linq;using System.Text;using Type_0713.Type;namespace FormulaOfBasicSalaryclass Constspublic const string InputLeaveDays1

3、= “请输入公司雇员 Employee 本月请假天数:“;public const string PromptError = “你输入的数据不正确“;public const string PromptDayError = “请假的天数不得大于 7 天或小于 0 天“;public const string LeaveDays2 = “请输入技术人员 Technician 本月请假天数:“;public const string InputFinishFactor = “请输入技术人员本月工作完成进度系数:“;public const string FactorError = “工作完成进度系

4、数应在 01 之间“;public const string LeaveDays3 = “请输入销售员 Salesman 本月请假天数:“;public const string InputSale = “请输入销售员本月销售额:“;public const string SaleError = “销售额不得小于 0“;public const string InputLeaveDays4 = “请输入经理 Manager 本月请假天数:“;public const string InputAchieveFactor = “请输入经理本月业绩系数:“;public const string A

5、chieveFactorError = “业绩系数不得小于 0“;public const string PrompButton = “按回车键,输入下条信息“;class Programstatic void Main(string args)#region 公司雇员 Employee 类的月薪计算/输入数据Console.WriteLine(Consts.InputLeaveDays1);string str = Console.ReadLine();/验证数据int day;if (!int.TryParse(str, out day)Console.WriteLine(Consts.P

6、romptError);Console.ReadKey();return;int days = Convert.ToInt32(str);if (days 7)Console.WriteLine(Consts.PromptDayError);Console.ReadKey();return;/处理数据Employee employee = new Employee();employee.Pay(days);Console.WriteLine(Consts.PrompButton);Console.ReadKey();#endregion#region 技术人员 Technician 工资总额计

7、算Technician technician = new Technician();/输入数据Console.WriteLine(Consts.LeaveDays2);string str1 = Console.ReadLine();/验证请假天数是否符合要求int day1;if (!int.TryParse(str1, out day1)Console.WriteLine(Consts.PromptError);Console.ReadKey();return;if (day1 7)Console.WriteLine(Consts.PromptDayError);Console.ReadK

8、ey();return;Console.WriteLine(Consts.InputFinishFactor);string str11 = Console.ReadLine();/验证工作完成进度系数是否符合要求double num;if (!double.TryParse(str11, out num)Console.WriteLine(Consts.PromptError);Console.ReadKey();return;/int days1 = Convert.ToInt32(str1);if (num 1)Console.WriteLine(Consts.FactorError);

9、Console.ReadKey();return;/计算当月工作时数technician.MonthWorkHourNum = technician.MonthWorkHourNum - days;/计算工资总额technician.Pay(day1);Console.WriteLine(Consts.PrompButton);Console.ReadKey();#endregion#region 销售员 Salesman 工资总额计算Salesman salesman = new Salesman();/输入数据Console.WriteLine(Consts.LeaveDays3);str

10、ing str2 = Console.ReadLine();Console.WriteLine(Consts.InputSale);string str22 = Console.ReadLine();/验证请假天数是否符合要求int day2;if (!int.TryParse(str2, out day2)Console.WriteLine(Consts.PromptError);Console.ReadKey();return;/int days1 = Convert.ToInt32(str1);if (day2 7)Console.WriteLine(Consts.PromptDayEr

11、ror);Console.ReadKey();return;/验证工作完成进度系数是否符合要求int number;if (!int.TryParse(str22, out number)Console.WriteLine(Consts.PromptError);Console.ReadKey();return;if (number 7)Console.WriteLine(Consts.PromptDayError);Console.ReadKey();return;/验证业绩系数是否符合要求double factor;if (!double.TryParse(str33, out facto

12、r)Console.WriteLine(Consts.PromptError);Console.ReadKey();return;if (factor / 姓名/ public string Nameget;set;/ / 职工号/ public string Numberget;set;/ / 工资级别/ public string SalaryLevelget;set;/ / 基本工资/ public double BasicSalaryget;set;/ / 业绩工资/ public double AchieveSalaryget;set;/ / 月薪(基本工资加业绩工资)/ publi

13、c double MonthlyPayget;set;/ / 实发基本工资/ public double FactBasicSalaryget;set;/ / 公司雇员基本工资初始化/ public Employee()BasicSalary = 3000;/ / 月薪计算函数/ / 请假天数public virtual void Pay(int LeaveDays)this.FactBasicSalary = this.BasicSalary - 10 * LeaveDays;Console.WriteLine(“Employee 的月薪工资为:0元“, this.FactBasicSala

14、ry);#endregion#region 技术人员( Technician)派生类public class Technician : Employee/ / 每小时附加酬金/ public double AdditionRewardget;set;/ / 当月工作时数/ public double MonthWorkHourNumget;set;/ / 工作完成进度系数/ public double WorkCompletedget;set;/ / 部分数据初始化/ public Technician()AdditionReward = 1.7;MonthWorkHourNum = 192;

15、WorkCompleted = 1;/ / 计算工资总额/ / 请假天数public override void Pay(int LeaveDays)this.FactBasicSalary = this.BasicSalary - 10 * LeaveDays;this.AchieveSalary = AdditionReward * MonthWorkHourNum * WorkCompleted;this.MonthlyPay = this.FactBasicSalary + this.AchieveSalary;Console.WriteLine(“Technician 的月薪工资为:

16、0元“, this.MonthlyPay);#endregion#region 销售员( Salesman)派生类public class Salesman : Employee/ / 当月销售额/ public int SalesThatMonthget;set;/ / 酬金提取百分比/ public double RemunPercentageget;set;/ / 部分数据初始化/ public Salesman()SalesThatMonth = 0;RemunPercentage = 0.2;/ / 计算工资总额/ / 请假天数public override void Pay(int

17、 LeaveDays)this.FactBasicSalary = this.BasicSalary - 10 * LeaveDays;this.AchieveSalary = SalesThatMonth * RemunPercentage;this.MonthlyPay = this.FactBasicSalary + this.AchieveSalary;Console.WriteLine(“Salesman 的月薪工资为:0元“, this.MonthlyPay);#endregion#region 经理(Manager)派生类public class Manager : Employee/ / 固定奖金额/ public double FixedIndAwardsget;set;/ / 业绩系数/ public double AchieveFactor

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 医药卫生

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。