收藏 分销(赏)

C#计算员工工资.docx

上传人:pc****0 文档编号:5619350 上传时间:2024-11-15 格式: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类派生的属性有当月销售额和酬金提取百分比,业绩工资为两者之积。Salesman类也包

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

3、e本月请假天数:; public const string PromptError = 你输入的数据不正确; public const string PromptDayError = 请假的天数不得大于7天或小于0天; public const string LeaveDays2 = 请输入技术人员Technician本月请假天数:; public const string InputFinishFactor = 请输入技术人员本月工作完成进度系数:; public const string FactorError = 工作完成进度系数应在01之间; public const string L

4、eaveDays3 = 请输入销售员Salesman本月请假天数:; public const string InputSale = 请输入销售员本月销售额:; public const string SaleError = 销售额不得小于0; public const string InputLeaveDays4 = 请输入经理Manager本月请假天数:; public const string InputAchieveFactor = 请输入经理本月业绩系数:; public const string AchieveFactorError = 业绩系数不得小于0; public cons

5、t string PrompButton = 按回车键,输入下条信息; class Program static 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.PromptError); Console.ReadKey(); return

6、; 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工资总额计算 Technician technician =

7、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.ReadKey(); return;

8、 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.Leave

10、Days3); string 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.WriteL

11、ine(Consts.PromptDayError); Console.ReadKey(); return; /验证工作完成进度系数是否符合要求 int number; if (!int.TryParse(str22, out number) Console.WriteLine(Consts.PromptError); Console.ReadKey(); return; if (number 0) Console.WriteLine(Consts.SaleError); Console.ReadKey(); return; /当月销售额 salesman.SalesThatMonth = n

12、umber; /计算工资总额 salesman.Pay(day2); Console.WriteLine(Consts.PrompButton); Console.ReadKey(); #endregion #region 经理Manager工资总额计算 Manager manager = new Manager(); /输入数据 Console.WriteLine(Consts.InputLeaveDays4); string str3 = Console.ReadLine(); Console.WriteLine(Consts.InputAchieveFactor); string str

13、33 = Console.ReadLine(); /验证请假天数是否符合要求 int day3; if (!int.TryParse(str3, out day3) Console.WriteLine(Consts.PromptError); Console.ReadKey(); return; if (day3 7) Console.WriteLine(Consts.PromptDayError); Console.ReadKey(); return; /验证业绩系数是否符合要求 double factor; if (!double.TryParse(str33, out factor) C

14、onsole.WriteLine(Consts.PromptError); Console.ReadKey(); return; if (factor 0) Console.WriteLine(Consts.AchieveFactorError); Console.ReadKey(); return; /当月销售额 manager.AchieveFactor = factor; /计算工资总额 manager.Pay(day3); Console.ReadKey(); #endregion using System;using System.Collections.Generic;using

15、System.Linq;using System.Text;namespace Type_0713.Type #region 公司雇员(Employee)基类 public class Employee / / 姓名 / public string Name get; set; / / 职工号 / public string Number get; set; / / 工资级别 / public string SalaryLevel get; set; / / 基本工资 / public double BasicSalary get; set; / / 业绩工资 / public double

16、AchieveSalary get; set; / / 月薪(基本工资加业绩工资) / public double MonthlyPay get; set; / / 实发基本工资 / public double FactBasicSalary get; set; / / 公司雇员基本工资初始化 / public Employee() BasicSalary = 3000; / / 月薪计算函数 / / 请假天数 public virtual void Pay(int LeaveDays) this.FactBasicSalary = this.BasicSalary - 10 * LeaveD

17、ays; Console.WriteLine(Employee的月薪工资为:0元, this.FactBasicSalary); #endregion #region 技术人员(Technician)派生类 public class Technician : Employee / / 每小时附加酬金 / public double AdditionReward get; set; / / 当月工作时数 / public double MonthWorkHourNum get; set; / / 工作完成进度系数 / public double WorkCompleted get; set; /

18、 / 部分数据初始化 / public Technician() AdditionReward = 1.7; MonthWorkHourNum = 192; WorkCompleted = 1; / / 计算工资总额 / / 请假天数 public override void Pay(int LeaveDays) this.FactBasicSalary = this.BasicSalary - 10 * LeaveDays; this.AchieveSalary = AdditionReward * MonthWorkHourNum * WorkCompleted; this.Monthly

19、Pay = this.FactBasicSalary + this.AchieveSalary; Console.WriteLine(Technician的月薪工资为:0元, this.MonthlyPay); #endregion #region 销售员(Salesman)派生类 public class Salesman : Employee / / 当月销售额 / public int SalesThatMonth get; set; / / 酬金提取百分比 / public double RemunPercentage get; set; / / 部分数据初始化 / public Sa

20、lesman() SalesThatMonth = 0; RemunPercentage = 0.2; / / 计算工资总额 / / 请假天数 public override void Pay(int LeaveDays) this.FactBasicSalary = this.BasicSalary - 10 * LeaveDays; this.AchieveSalary = SalesThatMonth * RemunPercentage; this.MonthlyPay = this.FactBasicSalary + this.AchieveSalary; Console.WriteL

21、ine(Salesman的月薪工资为:0元, this.MonthlyPay); #endregion #region 经理(Manager)派生类 public class Manager : Employee / / 固定奖金额 / public double FixedIndAwards get; set; / / 业绩系数 / public double AchieveFactor get; set; / / 数据初始化 / public Manager() FixedIndAwards = 2000; AchieveFactor = 1; / / 计算工资总额 / / 请假天数 public override void Pay(int LeaveDays) this.FactBasicSalary = this.BasicSalary - 10 * LeaveDays; this.AchieveSalary = FixedIndAwards * AchieveFactor; this.MonthlyPay = this.FactBasicSalary + this.AchieveSalary; Console.WriteLine(Manager的月薪工资为:0元, this.MonthlyPay); #endregion

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 行业资料 > 医学/心理学

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服