软件基础训练-公司职员信息管理

上传人:第*** 文档编号:35056972 上传时间:2018-03-08 格式:DOC 页数:24 大小:206.54KB
返回 下载 相关 举报
软件基础训练-公司职员信息管理_第1页
第1页 / 共24页
软件基础训练-公司职员信息管理_第2页
第2页 / 共24页
软件基础训练-公司职员信息管理_第3页
第3页 / 共24页
软件基础训练-公司职员信息管理_第4页
第4页 / 共24页
软件基础训练-公司职员信息管理_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《软件基础训练-公司职员信息管理》由会员分享,可在线阅读,更多相关《软件基础训练-公司职员信息管理(24页珍藏版)》请在金锄头文库上搜索。

1、 暑假实习-公司职员信息管理(面向对象程序设计) 公司职员信息管理系统 一、 系统概要: 公司职员的信息管理程序主要实现以下功能:输入员工的姓名,输出该员工 的基本信息、级别以及当月工资信息。需求如下。 1、某小型公司,主要由总经理、技术经理和技术人员、销售经理和销售人员。要求存 储所有人员的一下信息:姓名、性别、出生年月、技术特长、血型、星座、参加工作 时间、接入本公司时间、联系电话、编号、级别、当月薪,计算月薪总额并显示全部 信息。 2、人员的编号从开始,依次递增。 3、程序对所有人员有提升级别的功能。假设所有人员的初始级别均为级,然后进行 升级,总经理升为级,技术经理和销售经理升为级,技

2、术人员升为级,销售人 员为级。 4、月工资计算办法如下:总经理拿固定月薪 10000元; 技术经理拿固定月薪 6000元加 奖金;技术人员拿固定月薪 3000 元加奖金;销售经理既拿固定月薪也领取销售提成,固 定月薪为 4000元,销售提成为所辖部门的当月销售总额的(0.5%) ;销售人员的 月薪按当月销售额的提成。 5、考核结果作为升级和工资提成的依据,考核结果按百分制计算。 二、 基本功能要求: 设计一个基类employee,然后派生出technician(技术人员)类、manager(经理)类和 salesman(销售人员)类共3类,在此基础上通过继承和派生实现其它类。职员信息要求保 存

3、到文件。对部分数据应设置有操作权限。 三、 功能描述: 1、 新进入公司员工基本信息的输入。 2、 公司员工基本信息的查询、修改。 3、 离开公司员工信息的处理。 4、 与员工级别有关的操作。 5、 与月薪有关的操作。 6、 与人员考核有关的操作。 四、主要知识点: 1、 C 语言程序设计技术,特别是数组和指针的应用。 2、 面向对象程序设计技术,特别是继承和派生以及文件的操作。5、 总体设计思路: 在最初拿到程序设计的要求时,我便有个明确的思路:由大化小。不管是多么复杂,多 么冗长的程序,都是有一个个小功能或者说是函数,指针组合而成的,当我把这个大程序分 解成其所需要的各个小功能进行编程时,

4、这个公司职工管理系统就会明显地简单多了。正如 上图所示,在反复看了几遍要求之后,我把几个重要的信息或者对象用红色的字体标出,这 有助于我在编程时时刻提醒我还有哪些需要注意的,也助我理清了编程的思路。 变成之前,应注意到本职工信息管理系统以 C+语言知识为基础,运用各种函数、文件 等方式实现录入职工信息并保存,显示所有职工信息,查询职工信息,职工信息修改并保存, 删除职工信息,月薪总额管理,退出的功能。程序主要以函数调用及友元类的方式工作,菜 单功能在主函数中由 switch 语句实现。该程序一共用了 8个函数,可以说函数是该程序的核 心与灵魂。这些函数分别是: 1.Input (); / 输入

5、函数,可以实现员工信息的输入及存入文件; 2.enlarge / add (); / 增加员工函数; 3.delete () ; / 删除员工函数; 4.alter / change () ; / 修改员工函数; 5.checkperson / find () ; / 查询个人信息函数; 6.save () ; / 保存函数; 7.promote () ; / 升级函数; 8.test () ; / 设定考核成绩函数;而,在编写功能函数之前,我先是将整个程序的对象做了个梳理:6、 主程序: 基类:employee 销售人员类: salesman 技术人员类: technician 销售经理类:

6、 Tmanager 技术经理类: Smanager 总经理类: manager 派 生 职工基本信息: 姓名,性别,出生年月, 技术特长,血型,星座, 参加工作的时间,接入本 公司的时间,联系电话, 级别,编号,月薪总合1.首先,加上头文件: #include #include #include using namespace std; /全局数据,对象 double Managersalary=10000; /总经理固定月薪 double Tmanagersalary=6000; /技术经理固定月薪 double Smanagersalary=4000; /销售经理固定月薪 double T

7、echniciansalary=3000; /技术人员固定月薪 int ID=0; /员工编号 / / 整个程序操作对象的基类,最初编写的部分! class Employee /基类 protected: /以下为所需的职员基本信息的定义 int No; /编号 char Name20; /姓名 char Sex2; /性别 char Blood3; /血型 char Birth10; /出生年月 char Tel20; /联系电话 char Technicial20; /技术特长char Constellation20; /星座 int Duty; char Timeofbegin10; /

8、参加工作时间 char Timeofcome10; /接入本公司时间 int Grade; /级别double Earning; /工资/月薪 Employee *next; /基类的指针 public: Employee(char ID,int Grade,char *Name,char *Sex,char *Birth,char *Blood,char *Tel, char *Technicial,char *Constellation,char *Timeofbegin,char *Timeofcome,int Duty) this-Duty=Duty; this-Grade=Grade

9、; strcpy(this-Name,Name); this-No=ID; strcpy(this-Sex,Sex); strcpy(this-Birth,Birth); strcpy(this-Blood,Blood); strcpy(this-Tel,Tel); strcpy(this-Technicial,Technicial); strcpy(this-Constellation,Constellation); strcpy(this-Timeofbegin,Timeofbegin); strcpy(this-Timeofcome,Timeofcome); /指针的指向 virtual

10、 void Salary()=0; virtual void Output()=0; virtual void Output1()=0;virtual void Output2()=0; friend class Company; /需基类,之后可能用到的 ; /以下是五个派生类,也是公司已有的五个级别职员称谓 class Manager:public Employee /1.派生经理类 public: Manager(char ID,int Grade,char *Name,char *Sex,char *Birth,char *Blood,char *Tel,char *Technicia

11、l,char*Constellation,char*Timeofbegin,char*Timeofcome,intDuty):Employee(ID,Gr ade,Name,Sex,Birth,Blood,Tel,Technicial,Constellation,Timeofbegin,Timeofcome,Duty)void Salary() Earning=Managersalary; void Output() Salary(); coutWorkload=Workload; double GetWorkload() return Workload; void SetWorkload(double Amount) this-Workload=Amount; void Salary() Earning=Smanagersalary+Workload*0.005; void Output() Salary(); coutWorkload=Workload; double GetWorkload() return Workload; void SetWorkload(double Amount) this-Workload=Amount;

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

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号