C#计算员工工资.docx
《C#计算员工工资.docx》由会员分享,可在线阅读,更多相关《C#计算员工工资.docx(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 }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 计算 员工工资
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文