绩效工资的管理与设计报告_第1页
绩效工资的管理与设计报告_第2页
绩效工资的管理与设计报告_第3页
绩效工资的管理与设计报告_第4页
绩效工资的管理与设计报告_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

年4月19日绩效工资的管理与设计报告文档仅供参考学号:6计算机基础强化训练题目绩效工资的管理与设计学院计算机科学与技术学院专业计算机科学与技术专业班级计科0904姓名赵苗指导教师郭羽成年 07月06日目录任务书31系统需求分析41.1问题说明41.2数据需求41.3功能需求52系统设计62.1员工数据信息结构设计62.2内存数据结构设计62.3数据文件设计62.4实现的基本功能82.5输入输出设计82.6用户界面设计93系统测试103.1添加记录103.2修改记录103.3删除记录113.4查询记录123.5保存到文件123.6输出记录123.7退出系统134心得体会14计算机基础强化训练任务书学生姓名:赵苗专业班级:计算机科学与技术学院0904指导教师:郭羽成工作单位:计算机科学与技术学院题目:绩效工资的管理与设计初始条件:理论:学完计算机基础知识,掌握C++语言编程基础和VC开发平台的使用。实践:计算机科学系实验中心提供计算机及软件开发环境。要求完成的主要任务:(1)系统需求分析,得到系统的数据需求和功能需求,分析结果用表格记录。(2)系统设计,包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面。至少实现数据记录的增加、修改、删除、查询(查询应能按不同数据项进行)。(2)编制好程序后,设计若干测试用例,上机测试所设计的程序。(4)设计报告按格式要求书写。设计报告正文的内容应包括:1)系统描述包括问题说明、数据需求和功能需求。2)系统设计包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。3)系统测试包括测试用例的描述、测试方法和测试结果。4)设计的特点、不足、收获和体会。时间安排:1、第20周(7月4日至7月8日)完成。2、7月8日8:00到计算机学院实验中心(三楼)检查程序、交课程设计报告、源程序(CD盘)。指导教师签名:7月3日系主任(或责任教师)签名:7月3日绩效工资的管理与设计实现1.系统需求分析1.1问题说明绩效工资又称绩效加薪、奖励工资(Meritpay)或与评估挂钩的工资(Appraisalrelatedpay),是以职工被聘上岗的工作岗位为主,根据岗位技术含量、责任大小、劳动强度和环境优劣确定岗级,以企业经济效益和劳动力价位确定工资总量,以职工的劳动成果为依据支付劳动报酬,是劳动制度、人事制度与工资制度密切结合的工资制度。绩效工资由四部分组成:基本工资,年龄工资,岗位工资,奖励工资。1.2系统描述1.2.1数据需求一个员工的具体信息应该包含以下几个方面:绩效工资管理数据分析表:编号数据项数据类型数据长度描述1namechar20职工姓名,此标志并不唯一2numberint1职工标号,职工的唯一标志3ageint1职工性别,此标志并不唯一4positionchar20职工职位,此标志并不唯一5basicsalarydouble1职工基本工资,此标志并不唯一6positionsalarydouble1职工岗位工资,此标志并不唯一7agesalarydouble1职工的年龄工资,此标志不唯一8rewardsalarydouble1职工的奖励工资,此标志不唯一9genderGender(枚举类型)1职工的性别,此标志不唯一10truesalarydouble1职工的绩效工资,此标志不唯一11mobilephonechar12职工的联系方式,此标志唯一1.2.2功能需求每个公司都有具体的人事信息管理系统,要对这个系统进行维护,这个系统要有一定的功能,根据管理规则,其功能应该包含以下几个方面:绩效工资管理功能分析表:标号功能描述1增加员工信息新建一个员工记录到缓存中2删除职工信息若标号为num的职工在缓存中,则删除该记录,否则,删除操作失败3修改职工信息若标号为num的职工在缓存中,则修改该记录信息,否则,修改操作失败4保存职工信息将缓存中的职工信息保存到文件中5查询职工信息按照职工的数据项查询职工信息,若查询信息匹配,则输出改职工信息;否则,查询失败6显示职工信息显示所有缓存中的职工信息2.系统设计2.1员工信息数据结构设计首先根据数据需求:应该定义一个员工的数据结构体,结构体应包含员工的姓名,年龄,编号,岗位,基本工资,岗位工资,年龄工资,奖励工资,绩效工资等,结构体如下:structworkerloyee{ charname[20];//员工的姓名 intnumber;//员工的编号intage;//员工的年龄 charposition[20];//员工的职位 doublebasesalary;//员工的基本工资 doublepositionsalary;//员工的岗位工资 doubleagesalary;//员工的年龄工资 doublerewardsalary;//员工的奖励工资 Gendergender;//员工的性别doubletruesalary;//员工的绩效工资charmobilephone[12];};2.2内存数据结构设计structnode//职工结点{ workerloyeeworker;//数据成员 node*next;//链域};2.3数据文件设计2.3.1文件中存有两条员工信息,而且文件的存放路径为当前路径张文100122总监1000500500男4000田甜100235总裁300050001000女110002.3.2文件的创立打开与关闭ifstreamworkerdata(filename);//用名字为filename的文件实例化对象workerdata,打开文件if(!workerdata)returnNULL;while(!workerdata.eof())//将文件中的信息依次读出,放在链表中{ if(p=newnode) {//完成一个记录的各数据项workerdata>>p->;workerdata>>p->worker.number; workerdata>>gender;p->worker.age; workerdata>>p->worker.position; workerdata>>p->worker.basesalary; workerdata>>p->worker.positionsalary; workerdata>>p->worker.agesalary;workerdata>>p->worker.rewardsalary;workerdata>>p->worker.truesalary;workerdata>>p->worker.mobilephone; p->next=phead;;//将新结点加入链表 p=phead ;}}workerdata.close();//关闭文件2.3.3文件的保存,写入ofstreamworkerdata(filename);//将记录写入文件 if(!workerdata)return; for(p=phead;p;p=p->next) { workerdata<<""<<p->;………}workerdata.close();//关闭文件2.4实现的基本功能FuncTypeShowMenu(MenuTypewhich);//显示菜单node*CreateWorkerList(charfilename[]);//根据文件内容创立职工信息链表voidSave(charfilename[]);//将链表中的信息存入文件filename中voidShow(node*pnode);//依次显示链表中的各个记录node*Add(WorkerInfo&workerinfo);//添加一条职工记录WorkerInfo&GetWorkerInfo(WorkerInfo&workerinfo);//获得职工记录信息voidModify();//修改职工信息boolDelete(node*&node);//删除职工信息2.5输入输出设计2.5.1输入1,选择添加职工信息功能,则系统会输出提示”请输入职工的姓名”等信息,依次输入各条信息项,即可完成职工信息的添加。2.5.2输入2,选择更新职工信息功能,如果缓存中的职工记录为空,则系统会输出”职工记录为空”,否则系统会输出提示”请输入职工的编号”的提示,输入要修改的员工的编号num,如果该职工记录存在,系统则会依次提示输入该职工的所有信息,以供修改。如果该职工记录不存在,则系统会输出”编号为num的职工不存在,修改信息失败”。2.5.3输入3,选择删除一条职工信息的功能。如果缓存中的职工记录为空,则系统会输出”员工记录为空”,否则系统会输出提示”请输入员工的编号”的提示,输入要修改的员工的编号num,如果该职工记录存在,系统则会删除该职工的所有信息,并输出”即将执行删除操作,删除记录成功”,表示删除操作成功。如果该职工记录不存在,则系统会输出”没有执行删除操作,删除记录失败”,表示删除操作失败。2.5.4输入4,选择查询职工信息功能。则系统输出查询的子菜单。选择将要进行的查询方式,如果存在该菜单选项,则进行查询。如果没有该菜单选项,则输出提示”输入信息不正确,显示没有该项”例如选择按gender查询的方式,则系统输出”请输入员工的姓名”,输出职工姓名之后,若存在匹配的职工,则输出所有符合条件的职工信息,否则输出查询失败,不存在符合条件的记录。2.5.5输入5,选择将缓存中的职工记录保存到文件中,系统提示输出”已经保存到文件中”。2.5.6输入6,选择显示所有职工信息功能。系统输出”显示所有的记录”,输出所有职工记录。2.5.7输入7,选择退出绩效工资查询系统。系统输”你已经退出程序,欢迎下次使用”。2.5.8输入其它数组选项,输出”输入信息不正确,显示没有该项”2.6用户界面设计:2.6.1主菜单2.6.2子菜单3系统测试3.1添加一个职工记录,该职工的信息为黄静100325文秘10001000500500女3.2修改num为1001的记录,将姓名改为周禾,并显示结果3.3删除编号为1002的记录,并显示删除后的结果,显示删除成功3.4按基本工资查询,查询基本工资为11000的记录,显示所有基本工资为11000的职工的所有信息。查询phonenumber为的记录,显示查找成功。3.5把修改保存到文件3.6输出记录中所有信息3.7退出系统4心得体会4.1设计的特点在网上经过查找,发现绩效工资是一种新的工资制度,它主要包括4个部分,基本工资,岗位工资,年龄工资,奖励工资四部分,因此要确定一个职工的绩效工资为多少,则首先必须知道她的职位,年龄,以及她的奖励工资和基本工资,另外根据公司的日常管理,在公司登记的一个员工的信息一般包括她的姓名,性别,编号,年龄,联系方式等等,根据这些能够建立一个员工结构体,另外由于在在公司管理过程中,经常会发生员工需要更新信息,或者有新员工加入,或者需要查找某一员工的信息等事件,因此该管理系统就需要具备一些功能,如添加一条员工信息,对某一员工信息进行更新,查找某一员工(能够根据姓名,性别,编号,联系方式,职位,基本工资等等进行查找),或者删除一名已经离开的员工,为了不占用多余的空间,员工信息的存储能够用链表来存储,不浪费空间。将已经输入的信息保存到文件中,进行管理。这样就行成了一个绩效工资的管理系统,能够方便公司的人事部对员工进行管理。4.2设计的不足首先就是界面的设计不够好,虽然也能与使用者进行对话,可是有些细节处理不好,你如要更新一条员工信息时,要将这个员工的整个信息全部进行重新输入,年龄,性别,岗位等等,其实一些信息能够不必进行录入,另外就是虽然用的是链表的存储结构,可是在进行删除时,只是在链表中删除了,其实它依然占据着空间,而且没有指针指向它,造成了空间的浪费。4.3设计过程中的收获绩效工资的管理与设计,看似是一个挺简单的系统,只要设计了员工的结构体,再加上一些函数进行处理就行了,可是这个设计过程中,最容易忽略的就是考虑全面,比如一开始设计员工的信息结构体时,没有想全面,只有一些简单的信息,姓名编号职位等等,没有想到还有员工的联系方式也要记录,因为根据联系方式能够唯一确定一名员工,还有就是设计其功能时,也有一些地方忘记了,比如只想到了删除信息,可忘记了,删除信息要更改其头指针,还有就是更新员工信息时,一开始只想到要更新员工的职位,以及岗位工资,绩效工资等,没有想到也可能全部的信息都要进行更换。还有就是一些函数的设计,比如用姓名或者是电话号码进行查询时,定义的名字还有电话号码是字符数组,我写了一个这样的函数,for(inti=0;i<20;i++){if(name[i]==n[i])i++;elsebreak;}if(p!=NULL&&i>=20)则找到了具有相同姓名的员工,可是不知道什么原因发现程序走到这一步总是出错,进行调试更新程序,发现也找不到原因。后来,就想到了在字符串中有一函数是专门进行比较两个字符数组是否相等的,strcmp(chara[],charb[])只要在文件的开头加上<string.h>就能够直接用这个函数。有些东西并不是表面上想的那么简单,或许你认为能够实现的却发现在电脑上实现不了,这时只有靠不断的修改才能使程序正确运行。最后,谢谢老师,给了我们一个锻炼的机会,把所学的一些东西综合起来,加强了我们的动手能力!源程序清单:#include<iostream>//输入流#include<iomanip>#include<fstream>//输入输出流#include<string>usingnamespacestd;enumGender{MALE,FEMALE};//枚举类型,标志性别(0代表男,1代表女)enumMenuType{MAINMENU,SUBMENU};//枚举类型,标志菜单enumFuncType{NONE,ADD,UPDATE,DELETE,QUERY,SHOW,QB_NAME,QB_NUMBER,QB_GENDER,QB_PERFORMAMCE,QB_BASESALARY,QB_TRUESALARY,QB_MOBILEPHONE,SAVE,EXIT};//枚举类型,标志功能类型structemployee{ charname[20];//员工的姓名 intnumber;//员工的编号intage;//员工的年龄 charposition[20];//员工的职位 doublebasesalary;//员工的基本工资 doublepositionsalary;//员工的岗位工资 doubleagesalary;//员工的年龄工资 doublerewardsalary;//员工的奖励工资 Gendergender;//员工的性别doubletruesalary;//员工的绩效工资charmobilephone[12];};structnode//职工结点{ employeeworker;//数据成员 node*next;//链域};structQueryRes//查询结果结点{ node*pnode;//数据成员 QueryRes*pnext;//链域};node*phead=NULL;//职工记录链表头结点QueryRes*pqueryres=NULL;//查询结果链表头结点FuncTypeShowMenu(MenuTypewhich);//显示菜单node*CreateWorkerList(charfilename[]);//根据文件内容创立职工信息链表voidRemoveWorkerList();//删除链表voidRemoveQueryRes();//删除查询结果链表voidSave(charfilename[]);//将链表中的信息存入文件filename中voidShow(node*pnode);//依次显示链表中的各个记录voidShow(QueryRes*pnode);//依次显示链表中的各个记录QueryRes*Query(FuncTypefunc);//确定查询方式,返回符合查询的结点的链表node*Add(employee&employee);//添加一条职工记录employee&Getemployee(employee&employee);//获得职工记录信息voidModify();//修改职工信息boolDelete(node*&phead);//删除职工信息intmain(){ employeeemployee; intcont=1;//显示出菜单的条件 intcont1=1;//显示子菜单的条件 phead=CreateWorkerList("employee.txt");//读入存在文件里的记录 while(cont) { switch(ShowMenu(MAINMENU)) { caseADD://添加一条记录 Getemployee(employee);//获取职工信息 phead=Add(employee);//将获得的职工信息插入到链表中 break; caseUPDATE://更新记录,即修改记录信息 Modify(); break; caseDELETE: if(Delete(phead))cout<<"即将执行删除操作,删除记录成功"<<endl;//即将执行删除操作,删除记录成功 elsecout<<"没有执行删除操作,删除记录失败"<<endl;//没有执行删除操作,删除记录失败 break; caseQUERY://查询一条记录 cont1=1; while(cont1) { FuncTypefunc; func=ShowMenu(SUBMENU);//确定查询方式 switch(func) { caseQB_NAME://按姓名查询 caseQB_NUMBER://按编号查询 caseQB_BASESALARY://按基本工资查询caseQB_GENDER://按性别查询 caseQB_TRUESALARY://按绩效工资查询 caseQB_MOBILEPHONE://按电话号码查询 Show(Query(func));//输出查询结果 RemoveQueryRes();//查询完毕后删除查询链表 break; caseEXIT: cont1=0;//返回上一级菜单 break; default://输入信息不正确,显示没有该选项 cout<<"输入信息不正确,显示没有该项"<<endl; break; } } break; caseSAVE://将修改或添加的信息保存到文件中 cout<<"将修改或添加的信息保存到文件中"<<endl; Save("employee.txt"); break; caseSHOW: cout<<"显示文件中的所有记录"<<endl; Show(phead); break; caseEXIT://退出绩效工资管理系统 cout<<"你已经退出程序,欢迎您下次使用"<<endl; RemoveWorkerList(); cont=0; break; default://输入信息不正确,显示没有该选项 cout<<"输入信息不正确,显示没有该项"<<endl; break; } } system("PAUSE"); return0;}FuncTypeShowMenu(MenuTypewhich)//显示菜单{ FuncTypefunc=NONE; intchoice=0; switch(which) { caseMAINMENU://显示主菜单 cout<<"*****************************************************"<<endl; cout<<"*Worker'sPerformancePayManagement*"<<endl; cout<<"**"<<endl; cout<<"*Chooseafunctionfromthefollowlinglist:*"<<endl; cout<<"*(1)Addaworkerrecord*"<<endl; cout<<"*(2)Updateaworkerrecord*"<<endl; cout<<"*(3)Deleteaworkerrecord*"<<endl; cout<<"*(4)Queryaworkerrecord*"<<endl; cout<<"*(5)Savetofile*"<<endl; cout<<"*(6)Showalltheworkerrecord*"<<endl; cout<<"*(7)Exit*"<<endl; cout<<"*****************************************************"<<endl; cout<<"*YourChoice(1-7):"; cin>>choice; cout<<"*****************************************************"<<endl; switch(choice)//根据主菜单选项,确定用户所选择的服务 { case1:func=ADD;break; case2:func=UPDATE;break; case3:func=DELETE;break; case4:func=QUERY;break; case5:func=SAVE;break; case6:func=SHOW;break; case7:func=EXIT;break; default:func=NONE;break; } break; caseSUBMENU://显示子菜单 cout<<"*****************************************************"<<endl; cout<<"*Worker'sPerformancePayManagement*"<<endl; cout<<"**"<<endl; cout<<"*Chooseaqueryfromthefollowlinglist:*"<<endl; cout<<"*(1)Querybyname*"<<endl; cout<<"*(2)Querybynumber*"<<endl; cout<<"*(3)Querybygender*"<<endl; cout<<"*(4)Querybybasesalary*"<<endl; cout<<"*(5)Querybytruesalary*"<<endl; cout<<"*(6)Querybyphonenumber*"<<endl; cout<<"*(7)Exit*"<<endl; cout<<"*****************************************************"<<endl; cout<<"*YourChoice(1-7):"; cin>>choice; cout<<"*****************************************************"<<endl; switch(choice)//根据用户的选择确定所要进行的查询方式 { case1:func=QB_NAME;break;//按姓名查询 case2:func=QB_NUMBER;break;//按编号查询 case3:func=QB_GENDER;break;//按性别查询 case4:func=QB_BASESALARY;break;//按基本工资查询 case5:func=QB_TRUESALARY;break;//按绩效工资查询 case6:func=QB_MOBILEPHONE;break;//按电话号码查询 case7:func=EXIT;break;//返回上一级菜单 default:func=NONE;break;//输入不正确 } break; default:// cout<<"NOSUCHAMENU!"<<endl;//该菜单不存在 break; } returnfunc;}node*CreateWorkerList(charfilename[])//根据文件内容创立职工信息链表{ node*p; intgender; ifstreamworkerdata(filename);//用名字为filename的文件实例化对象workerdata,打开文件 if(!workerdata)returnNULL; while(!workerdata.eof())//将文件中的信息依次读出,放在链表中 { if(p=newnode())//完成一个记录的各数据项 { workerdata>>p->; workerdata>>p->worker.number; workerdata>>gender; p->worker.gender=(Gender)gender; workerdata>>p->worker.age; workerdata>>p->worker.position; workerdata>>p->worker.basesalary; workerdata>>p->worker.positionsalary; workerdata>>p->worker.agesalary; workerdata>>p->worker.rewardsalary; workerdata>>p->worker.truesalary; workerdata>>p->worker.mobilephone; p->next=phead;//将新结点加入链表 phead=p ; } } workerdata.close();//关闭文件 returnphead;//返回链表的头指针}voidRemoveWorkerList()//删除链表{ for(node*p2,*p1=phead;p1;p1=p2)//依次删除第一个结点 { p2=p1->next; deletep1; } phead=NULL;}voidRemoveQueryRes()//删除查询结果链表{ for(QueryRes*p2,*p1=pqueryres;p1;p1=p2) { p2=p1->pnext; deletep1; } pqueryres=NULL;}voidSave(charfilename[])//将链表中的信息存入文件filename中{ node*p; intgender; ofstreamworkerdata(filename);//将记录写入文件 if(!workerdata)return; for(p=phead;p;p=p->next) { workerdata<<""<<p->; workerdata<<""<<p->worker.number; workerdata<<""<<p->worker.age; gender=p->worker.gender; workerdata<<""<<gender; workerdata<<""<<p->worker.position; workerdata<<""<<p->worker.basesalary; workerdata<<""<<p->worker.positionsalary; workerdata<<""<<p->worker.agesalary; workerdata<<""<<p->worker.rewardsalary; workerdata<<""<<p->worker.truesalary; workerdata<<""<<p->worker.mobilephone; } workerdata.close();//关闭文件}voidShow(node*pnode){ for(node*p=pnode;p;p=p->next)//依次显示链表中的各个记录 { cout<<p-><<";"; cout<<p->worker.number<<";"; cout<<p->worker.gender<<";"; cout<<p->worker.age<<";"; cout<<p->worker.basesalary<<";"; cout<<p->worker.positionsalary<<";"; cout<<p->worker.agesalary<<";"; cout<<p->worker.rewardsalary<<";"; cout<<p->worker.truesalary<<";"; cout<<p->worker.mobilephone<<endl; }}voidShow(QueryRes*pnode){ for(QueryRes*p=pnode;p;p=p->pnext) { cout<<p->pnode-><<";"; cout<<p->pnode->worker.number<<";";cout<<p->pnode->worker.age<<";"; cout<<p->pnode->worker.gender<<";"; cout<<p->pnode->worker.basesalary<<";";cout<<p->pnode->worker.positionsalary<<";";cout<<p->pnode->worker.agesalary<<";";cout<<p->pnode->worker.rewardsalary<<";"; cout<<p->pnode->worker.truesalary<<";"; cout<<p->pnode->worker.mobilephone<<endl; }}QueryRes*Query(FuncTypefunc)//确定查询方式{ employeeemployee; inthasRes=0;//hasRes记录查询方式 inttag=1;//标记是否输入查询的匹配值 QueryRes*pquery=NULL; intgender; for(node*p=phead;p;p=p->next) { switch(func)//如果某个记录中的数据项符合查询信息,则hasRes=1记录下来 { caseQB_NAME: if(tag) { cout<<"请输入职工的名字"; cin>>; tag=0; } if(!strcmp(p->,)) hasRes=1; break; caseQB_NUMBER: if(tag) { cout<<"请输入职工的编号"; cin>>employee.number; tag=0; } if(p->worker.number==employee.number)hasRes=1; break; caseQB_GENDER: if(tag) { cout<<"请输入职工的性别"; cin>>gender;employee.gender=(Gender)gender; tag=0; } if(p->worker.gender==employee.gender)hasRes=1; break; caseQB_BASESALARY: if(tag) { cout<<"请输入职工的基本工资"; cin>>employee.basesalary; tag=0; } if(p->worker.basesalary==employee.basesalary)hasRes=1; break; caseQB_TRUESALARY: if(tag) { cout<<"请输入职工的绩效工资"; cin>>employee.truesalary; tag=0; } if(p->worker.truesalary==employee.truesalary)hasRes=1; break; caseQB_MOBILEPHONE: if(tag) { cout<<"请输入职工的电话号码"; cin>>employee.mobilephone; tag=0; } if(!strcmp(p->worker.mobilephone,employee.mobilephone))hasRes=1; break; default:break; } if(hasRes)//把查询结果的结点存在pqueryres中 { if(pquery=newQueryRes()) { pquery->pnode=p; pquery->pnext=pqueryres; pqueryres=pquery; } hasRes=0; } } if(pqueryres==NULL)cout<<"查询失败,不存在符合条件的记录"<<endl;//如果查询结果为NULL,则查询失败 returnpqueryres;}node*Add(employee&employee)//添加一条职工记录{ node*p; if(p=newnode())//新建结点成功则添加各数据项 { strcpy(p->,); p->worker.number=employee.number; p->worker.gender=employee.gender;p->worker.age=employee.age; strcpy(p->worker.position,employee.position); p->worker.basesalary=employee.basesalary;p->worker.positionsalary=employee.positionsalary;p->worker.agesalary=employee.agesalary; p->worker.rewardsalary=employee.rewardsalary;p->worker.truesalary=employee.truesalary; strcpy(p->worker.mobilephone,employee.mobilephone); p->next=phead; phead=p; } returnphead;//返回头结点}employee&Getemployee(employee&employee)//获得职工记录信息{ intgender; cout<<"请输入职工的姓名"; cin>>; cout<<"请输入职工的编号"; cin>>employee.number; cout<<"请输入职工的性别"; cin>>gender;employee.gender=(Gender)gender; cout<<"请输入职工的年龄"; cin>>employee.age; cout<<"请输入职工的岗位"<<endl; cin>>employee.position; cout<<"请输入职工的基本工资"; cin>>employee.basesalary; cout<<"请输入职工的岗位工资"; cin>>employee.positionsalary;cout<<"请输入职工的年龄工资"; cin>>employee.agesalary;cout<<"请输入职工的奖励工资"; cin>>employee.rewardsalary;employee.truesalary=employee.rewardsalary+employee.agesalary+employee.positionsalary+employee.basesalary; cout<<"请输入员工的电话号码"; cin>>employee.mob

温馨提示

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

评论

0/150

提交评论