C#计算员工工资.docx_第1页
C#计算员工工资.docx_第2页
C#计算员工工资.docx_第3页
C#计算员工工资.docx_第4页
C#计算员工工资.docx_第5页
已阅读5页,还剩6页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

某公司雇员(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 = 工作完成进度系数应在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 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 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 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 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 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 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 / / 姓名 / public string Name get; set; / / 职工号 / public string Number get; set; / / 工资级别 / public string SalaryLevel get; set; / / 基本工资 / public double BasicSalary get; set; / / 业绩工资 / public double 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 * LeaveDays; 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; / / 部分数据初始化 / 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.MonthlyPay = 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 Salesman() SalesThatMonth = 0; RemunPercentage = 0.2; / / 计算工资总额 / / 请假天数 public override void Pay(int LeaveDays) this.FactBasicSalary = this.BasicSalary - 10 * LeaveDays; this.AchieveSalary = SalesThatMonth * RemunPerc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论