职工管理系统Word文档格式.docx

上传人:b****2 文档编号:1564407 上传时间:2023-05-01 格式:DOCX 页数:29 大小:23.41KB
下载 相关 举报
职工管理系统Word文档格式.docx_第1页
第1页 / 共29页
职工管理系统Word文档格式.docx_第2页
第2页 / 共29页
职工管理系统Word文档格式.docx_第3页
第3页 / 共29页
职工管理系统Word文档格式.docx_第4页
第4页 / 共29页
职工管理系统Word文档格式.docx_第5页
第5页 / 共29页
职工管理系统Word文档格式.docx_第6页
第6页 / 共29页
职工管理系统Word文档格式.docx_第7页
第7页 / 共29页
职工管理系统Word文档格式.docx_第8页
第8页 / 共29页
职工管理系统Word文档格式.docx_第9页
第9页 / 共29页
职工管理系统Word文档格式.docx_第10页
第10页 / 共29页
职工管理系统Word文档格式.docx_第11页
第11页 / 共29页
职工管理系统Word文档格式.docx_第12页
第12页 / 共29页
职工管理系统Word文档格式.docx_第13页
第13页 / 共29页
职工管理系统Word文档格式.docx_第14页
第14页 / 共29页
职工管理系统Word文档格式.docx_第15页
第15页 / 共29页
职工管理系统Word文档格式.docx_第16页
第16页 / 共29页
职工管理系统Word文档格式.docx_第17页
第17页 / 共29页
职工管理系统Word文档格式.docx_第18页
第18页 / 共29页
职工管理系统Word文档格式.docx_第19页
第19页 / 共29页
职工管理系统Word文档格式.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

职工管理系统Word文档格式.docx

《职工管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《职工管理系统Word文档格式.docx(29页珍藏版)》请在冰点文库上搜索。

职工管理系统Word文档格式.docx

ShowInfo();

员工信息变更:

RefreshInfo();

发放工资:

Pay(intEG);

//EG为员工级别

解聘员工:

DeleteInfo();

保存员工信息:

WriteIn(intiflag);

读取员工信息:

ReadOut();

更新员工总人数:

RefreshMaxNum(intiflag);

注释:

当iflag为1时,人数增大;

为零时,人数不变,即是修改;

为-1时,人数减少。

3.4具体代码如下:

longEmployee:

EmployeeMaxNum=1000;

floatEmployee:

EmployeeBasePay=1500;

intEmployee:

MaxNum()

{

intMN=0;

ifstreammyf("

c:

\\EmployeeMaxNum.txt”);

myf〉〉MN;

myf。

close();

returnMN;

voidEmployee:

:

NewInfo()

chartmpName[50];

cout<

<

”newEmployeeName〉"

;

//输入员工名字

cin〉>

tmpName;

Employee:

EmployeeName=newchar[strlen(tmpName)+1];

strcpy(Employee:

EmployeeName,tmpName);

//////////////////////////////////////////

Employee:

EmployeeNum=EmployeeMaxNum+Employee:

MaxNum()+1;

//自动分配员工编号,为基础标号+员工人数

chartmpDepart[50];

"

newEmployeeDepartment>

”;

//输入员工部门名称

cin>

>

tmpDepart;

EmployeeDepart=newchar[strlen(tmpDepart)+1];

strcpy(Employee:

EmployeeDepart,tmpDepart);

cout〈〈”newEmployeeGrade(1:

zhiyuan2:

zhuren3:

jingli4:

dongshizhang)>

”;

//输入员工等级,1为职员,2为主任,3为经理,4为董事长

Employee:

EmployeeGrade;

while(Employee:

EmployeeGrade!

=1&&

=2&

&

EmployeeGrade!

=3&

=4)

YourInputError!

InputAgainbecareful:

)”<

〈endl;

cout〈〈"

newEmployeeGrade(1:

zhiyuan2:

jingli4:

〉Employee:

”newEmployeeWorkTime>

//输入员工合同期

Employee:

EmployeeWorkTime;

EmployeePay=Employee:

Pay(Employee:

EmployeeGrade);

DBOperatedbo;

dbo。

ReadOut();

//将原来的数据文件中的数据读出,并加入新的数据

intMaxNum=Employee:

MaxNum();

EN[MaxNum]=Employee:

EmployeeName;

ENum[MaxNum]=Employee:

EmployeeNum;

ED[MaxNum]=Employee:

EmployeeDepart;

EG[MaxNum]=Employee:

EWT[MaxNum]=Employee:

EmployeeWorkTime;

EP[MaxNum]=Employee:

EmployeePay;

dbo.WriteIn

(1);

//将新的信息全部写入数据文件

return;

ShowInfo()

for(inti=0;

i〈Employee:

MaxNum();

i++)

{//顺序输出所有员工的信息,Employee:

MaxNum()为员工人数

〈”TheEmployee'

sInformation:

”〈〈endl;

cout〈〈”**********************************"

〈"

*EmployeeName>

”〈〈EN[i]〈<

endl;

*EmployeeNum>

〈〈ENum[i]〈〈endl;

”*EmployeeDepart〉”〈〈ED[i]〈<

endl;

cout〈〈”*EmployeeGrade>

〈〈EG[i]<

〈endl;

cout〈<

*EmployeeWorkTime〉"

EWT[i]〈<

*EmployeePay〉"

〈EP[i]<

**********************************"

〈<

}

 

RefreshInfo()

intcNum=1000;

//基础编号

DBOperatedbo;

//先将所有员工信息输出

PleaseinputtheEmployee’sNum>

cin〉〉cNum;

intMN;

MN=Employee:

i<

MN;

if(ENum[i]==cNum)//通过编号找到指定要更新的员工

{//依次更新员工信息

***********************************"

〈”Yourchoice'

stheEmployee"

cout〈〈”**********************************"

*EmployeeName〉"

〈〈EN[i]<

cout〈〈”*EmployeeNum〉”<

ENum[i]〈〈endl;

*EmployeeDepart〉”〈〈ED[i]〈〈endl;

”*EmployeeGrade〉"

〈〈EG[i]〈<

EWT[i]<

EP[i]〈〈endl;

**********************************”<

InputyourRefresh:

chartmpName[50];

cin〉〉tmpName;

EmployeeName=newchar[strlen(tmpName)+1];

EmployeeName,tmpName);

EN[i]=Employee:

EmployeeName;

chartmpDepart[50];

newEmployeeDepartment〉”;

tmpDepart;

EmployeeDepart=newchar[strlen(tmpDepart)+1];

EmployeeDepart,tmpDepart);

ED[i]=Employee:

zhuren3:

dongshizhang)〉”;

=1&

YourInputError!

)"

”newEmployeeGrade(1:

〉Employee:

EmployeeGrade;

EG[i]=Employee:

〈”newEmployeeWorkTime>

EmployeePay=Employee:

Pay(EG[i]);

EP[i]=Employee:

EmployeePay;

break;

dbo.WriteIn(0);

//将更新信息写入数据文件

DeleteInfo()

dbo.ReadOut();

ShowInfo();

cout〈〈”PleaseinputtheEmployee’sNum>

MN=Employee:

for(inti=0;

i〈MN;

if(ENum[i]==cNum)

***********************************"

Yourchoice'

stheEmployee”〈<

cout〈〈”**********************************”〈〈endl;

cout〈〈”*EmployeeName>

”<

EN[i]<

*EmployeeNum〉”〈<

ENum[i]<

*EmployeeDepart>

ED[i]<

”*EmployeeGrade>

〈〈EG[i]<

*EmployeeWorkTime〉”<

EWT[i]〈<

〈EP[i]〈<

〈”**********************************”<

”DeletetheEmployee'

sInformation(Y/N)>

charc;

〉c;

if(i==MN-1)//如果指定要删除的员工信息在文件末尾,那么只要将员工人数减1就行

dbo.WriteIn(—1);

//重新将信息写入数据文件

else

for(intj=i;

j<

MN-1;

j++)

EN[j]=EN[j+1];

dbo.WriteIn(-1);

DeleteSuccess!

"

floatEmployee:

Pay(intEG)

floattmpPay;

tmpPay=Employee:

EmployeeBasePay+EG*Employee:

EmployeeBasePay;

returntmpPay;

voidDBOperate:

WriteIn(intiflag)

DBOperate:

RefreshMaxNum(iflag);

ofstreammyf("

\\Employee.txt"

);

//打开C盘下的数据文件

Employeee;

MN=e.MaxNum();

myf〈〈EN[i]<

'

\n’〈〈ENum[i]<

\n’〈〈ED[i]<

〈'

\n’〈<

EG[i]<

\n’〈〈EWT[i]<

\n’〈〈EP[i]〈<

’\n'

//依次写入

close();

ReadOut()

ifstreammyf(”c:

\\Employee.txt”);

//打开C盘下的数据文件

chartmpName[50];

chartmpDepart[50];

for(inti=0;

myf>

〉tmpName>

〉DBOperate:

EmployeeNum>

tmpDepart〉>

DBOperate:

EmployeeGrade>

〉DBOperate:

EmployeeWorkTime〉〉DBOperate:

//依次读出

EmployeeName=newchar[strlen(tmpName)+1];

EmployeeDepart=newchar[strlen(tmpDepart)+1];

strcpy(DBOperate:

strcpy(DBOperate:

EN[i]=DBOperate:

ENum[i]=DBOperate:

EmployeeNum;

ED[i]=DBOperate:

EG[i]=DBOperate:

EWT[i]=DBOperate:

EP[i]=DBOperate:

RefreshMaxNum(intiflag)

intMaxNum=0;

ifstreammyif(”c:

\\EmployeeMaxNum.txt"

);

myif>

MaxNum;

〈MaxNum〈<

myif。

MaxNum=MaxNum+iflag;

//将员工人数做相应变动

ofstreammyof(”c:

\\EmployeeMaxNum。

txt”);

myof〈〈MaxNum;

myof.close();

四系统运行入口的设计

提供一个操作界面入图:

注意:

系统中有全局变量用于存储从数据文件中读出的员工信息

char*EN[50];

longENum[50];

char*ED[50];

intEG[50];

longEWT[50];

floatEP[50];

该系统的操作就是围绕这些全局变量展开。

代码如下:

voidmain()

{

intc2=0;

while(c2!

=5)

{

EmployeeInformationManageSystem”〈<

”******************************************”〈〈endl;

”*EmployeeList—-—-----—--1"

*AddNewEmployeeInformation--—-——--———2”<

”*RefreshEmployeeInformation——--——-————3"

〈〈endl;

*DeleteEmployeeInformation-——-—-—-——-4"

”******************************************"

”*ExitEIMS——-—————-——-5"

******************************************"

Inputyourchoiceonhere>

c2;

Employeee;

switch(c2)

case1:

dbo.ReadOut();

e。

break;

case2:

NewInfo();

case3:

e.RefreshInfo();

case4:

DeleteInfo();

case5:

default:

Error!

YourChoicedoesn'

tExit”<

if(c2==5)

五运行步骤

运行主界面:

【步骤1】:

选择1,系统将已有的员工信息依次显示在屏幕上.

【步骤2】:

选择2,系统将添加新的员工信息。

【步骤3】:

选择3,系统将更新指定的员工信息。

【步骤4】:

选择4,系统将删除指定的员工信息。

【步骤5】:

选择5,退出系统。

六数据文件

Employee.txt存储员工的基本信息

EmployeeMaxNum.txt存储员工的人数

数据文件都存放在C盘根目录下。

该系统对数据文件的操作在系统运行过程中非常重要,是使整个系统正常运行的关键.

七参考文献

【1】《C语言程序设计》谭浩强编著清华大学出版社

【2】《C++程序设计教程》钱能主编清华大学出版社

八附录

完整代码:

#include<

iostream>

#include〈string>

#include〈fstream>

usingnamespacestd;

char*EN[50];

longENum[50];

char*ED[50];

intEG[50];

longEWT[50];

floatEP[50];

classEmployee

public:

char*EmployeeName;

longEmployeeNum;

char*EmployeeDepart;

intEmployeeGrade;

longEmployeeWorkTime;

floatEmployeePay;

staticlongEmployeeMaxNum;

staticfloatEmployeeBasePay;

voidNewInfo();

voidShowInfo();

voidRefreshInfo();

voidDeleteInfo();

floatPay

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2