收藏 分销(赏)

C#计算员工工资.docx

上传人:pc****0 文档编号:5619350 上传时间:2024-11-15 格式:DOCX 页数:11 大小:21.02KB 下载积分:10 金币
下载 相关 举报
C#计算员工工资.docx_第1页
第1页 / 共11页
C#计算员工工资.docx_第2页
第2页 / 共11页


点击查看更多>>
资源描述
某公司雇员(Employee)包括经理(Manager),技术人员(Technician)和销售员(Salesman)。 1)Employee类的属性包括姓名、职工号、工资级别(影响基本工资),月薪(基本工资加业绩工资)。操作包括月薪计算函数(Pay()),该函数要求输入请假天数,扣去应扣工资后,得出实发基本工资。 2)Technician类派生的属性有每小时附加酬金和当月工作时数,及工作完成进度系数,业绩工资为三者之积。Technician类也包括Pay()函数,工资总额为基本工资加业绩工资。 3)Salesman类派生的属性有当月销售额和酬金提取百分比,业绩工资为两者之积。Salesman类也包括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 = "请输入公司雇员Employee本月请假天数:"; public const string PromptError = "你输入的数据不正确"; public const string PromptDayError = "请假的天数不得大于7天或小于0天"; public const string LeaveDays2 = "请输入技术人员Technician本月请假天数:"; public const string InputFinishFactor = "请输入技术人员本月工作完成进度系数:"; public const string FactorError = "工作完成进度系数应在0~1之间"; 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 AchieveFactorError = "业绩系数不得小于0"; public const 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; } int days = Convert.ToInt32(str); if (days < 0 || 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 = 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 < 0 || day1 > 7) { Console.WriteLine(Consts.PromptDayError); Console.ReadKey(); 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 < 0 || num > 1) { Console.WriteLine(Consts.FactorError); 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); 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 < 0 || day2 > 7) { Console.WriteLine(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 = number; //计算工资总额 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 str33 = Console.ReadLine(); //验证请假天数是否符合要求 int day3; if (!int.TryParse(str3, out day3)) { Console.WriteLine(Consts.PromptError); Console.ReadKey(); return; } if (day3 < 0 || day3 > 7) { Console.WriteLine(Consts.PromptDayError); Console.ReadKey(); return; } //验证业绩系数是否符合要求 double factor; if (!double.TryParse(str33, out factor)) { Console.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 System.Linq; using System.Text; namespace Type_0713.Type { #region 公司雇员(Employee)基类 public class Employee { /// <summary> /// 姓名 /// </summary> public string Name { get; set; } /// <summary> /// 职工号 /// </summary> public string Number { get; set; } /// <summary> /// 工资级别 /// </summary> public string SalaryLevel { get; set; } /// <summary> /// 基本工资 /// </summary> public double BasicSalary { get; set; } /// <summary> /// 业绩工资 /// </summary> public double AchieveSalary { get; set; } /// <summary> /// 月薪(基本工资加业绩工资) /// </summary> public double MonthlyPay { get; set; } /// <summary> /// 实发基本工资 /// </summary> public double FactBasicSalary { get; set; } /// <summary> /// 公司雇员基本工资初始化 /// </summary> public Employee() { BasicSalary = 3000; } /// <summary> /// 月薪计算函数 /// </summary> /// <param name="LeaveDays">请假天数</param> public virtual void Pay(int LeaveDays) { this.FactBasicSalary = this.BasicSalary - 10 * LeaveDays; Console.WriteLine("Employee的月薪工资为:{0}元", this.FactBasicSalary); } } #endregion #region 技术人员(Technician)派生类 public class Technician : Employee { /// <summary> /// 每小时附加酬金 /// </summary> public double AdditionReward { get; set; } /// <summary> /// 当月工作时数 /// </summary> public double MonthWorkHourNum { get; set; } /// <summary> /// 工作完成进度系数 /// </summary> public double WorkCompleted { get; set; } /// <summary> /// 部分数据初始化 /// </summary> public Technician() { AdditionReward = 1.7; MonthWorkHourNum = 192; WorkCompleted = 1; } /// <summary> /// 计算工资总额 /// </summary> /// <param name="LeaveDays">请假天数</param> 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的月薪工资为:{0}元", this.MonthlyPay); } } #endregion #region 销售员(Salesman)派生类 public class Salesman : Employee { /// <summary> /// 当月销售额 /// </summary> public int SalesThatMonth { get; set; } /// <summary> /// 酬金提取百分比 /// </summary> public double RemunPercentage { get; set; } /// <summary> /// 部分数据初始化 /// </summary> public Salesman() { SalesThatMonth = 0; RemunPercentage = 0.2; } /// <summary> /// 计算工资总额 /// </summary> /// <param name="LeaveDays">请假天数</param> public override void Pay(int 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 { /// <summary> /// 固定奖金额 /// </summary> public double FixedIndAwards { get; set; } /// <summary> /// 业绩系数 /// </summary> public double AchieveFactor { get; set; } /// <summary> /// 数据初始化 /// </summary> public Manager() { FixedIndAwards = 2000; AchieveFactor = 1; } /// <summary> /// 计算工资总额 /// </summary> /// <param name="LeaveDays">请假天数</param> 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 }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服