职工信息管理系统外加课程设计报告文档格式.docx
- 文档编号:17606577
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:31
- 大小:164.23KB
职工信息管理系统外加课程设计报告文档格式.docx
《职工信息管理系统外加课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统外加课程设计报告文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
//地址
floatsalary;
//工资
chardate[12];
//出生日期
charpswd[10];
//密码
};
infomationstu[SIZE];
//每个元素对应一条信息
intlen;
//总数
intID;
//登录者的索引
classperson//定义普通职工类
{
person();
~person();
voidload();
//读取信息
voidsave();
//保存信息
intmenu();
//菜单
voidmodify();
//修改信息
voidsearch();
//信息查询
intcheck(chars[],inti);
//检查是否有信息重复
};
classrenshi:
publicperson//定义人事部门类
voidinput();
//录入信息
voiddel();
//删除信息
classcaiwu:
publicperson//定义财务部门类
voidmodify_salary();
//修改工资
charfilename[]="
person.txt"
;
person:
:
person(){}
~person(){}
voidcaiwu:
modify_salary()
chars[20];
system("
cls"
);
//清屏
cout<
<
"
请输入要修改工资的职工的工号:
cin>
>
s;
for(inti=0;
i<
len;
i++)//查找所有信息,查询是否存在输入的信息
if(strcmp(stu[i].num,s)==0)
break;
//存在
if(i==len)//相等,说明输入信息不存在
{
对不起!
没有你输入工号的相关信息。
endl;
pause"
//任意键继续
return;
}
请输入工资:
stu[i].salary;
save();
//保存
工资修改成功!
//任意键继续
}
voidperson:
load()//读取所需信息
fstreamfile(filename,ios:
in);
//以读的方式打开文件,ios:
in见与书上245页
inti=0;
if(file.is_open())
while(!
file.eof())//判断是否到文件末尾
{
file>
stu[i].name
>
stu[i].num
stu[i].sex
stu[i].age
stu[i].department
stu[i].address
stu[i].salary
stu[i].date
stu[i].pswd
;
//读取文件
if(!
file.eof())
i++;
}
file.close();
//关闭文件
else
strcpy(stu[0].name,"
管理员"
strcpy(stu[0].num,"
0"
//初始登录工号
strcpy(stu[0].pswd,"
//初始登录密码
stu[0].department=2;
//为人事部门人员
strcpy(stu[0].sex,"
男"
strcpy(stu[0].address,"
北京"
strcpy(stu[0].date,"
2010-10-01"
stu[0].age=22;
stu[0].salary=2000;
i=1;
len=i;
save()//保存录入职工信息
out|ios:
trunc);
i++)
file
<
stu[i].name<
\t"
stu[i].num<
stu[i].sex<
stu[i].age<
stu[i].department<
stu[i].address<
stu[i].salary<
stu[i].date<
stu[i].pswd<
<
//写入文件
intperson:
check(chars[],inti)//检查是否重复
intg=0;
for(;
g<
g++)
if(strcmp(stu[g].num,s)==0&
&
i!
=g)//比较是不是一样,一样就说明重复了
return1;
//表示重复了
return0;
//查找了整个数组都没发现重复的表示没有重复
voidrenshi:
input()//录入信息
charch;
for(inti=len;
SIZE;
{
请输入姓名:
stu[i].name;
请输入工号:
stu[i].num;
while(check(stu[i].num,i)==1)
cout<
工号重复,请重新输入:
}
cout<
请选择性别(1、男2、女):
while
(1)
cin>
ch;
if(ch=='
1'
||ch=='
2'
)
else
输入错误请重新输入:
if(ch=='
)
strcpy(stu[i].sex,"
strcpy(stu[i].sex,"
女"
请输入年龄:
stu[i].age;
请选择部门(1、普通职工2、人事部门人员3、财务部门人员):
{
stu[i].department;
if(stu[i].department==1||stu[i].department==2||stu[i].department==3)
请输入地址:
stu[i].address;
请输入初始工资:
请输入出生日期(格式:
2012-01-02):
stu[i].date;
请输入密码:
stu[i].pswd;
len++;
//个数加1
一条信息录入完成,是否继续录入?
(y/n):
while
(1)
y'
Y'
n'
N'
break;
del()//删除信息
请输入要删除的工号:
i++)//遍历所有信息,查询是否存在输入的信息
//存在结束循环
if(i==len)//这二者相等说明查找完所有信息也没找到输入信息,说明输入信息不存在
\n"
}
stu[i]=stu[len-1];
//用最后一条信息覆盖要删除的信息
len--;
//信息条数减一
删除成功!
modify()//修改信息
inti;
chars[20],ch;
if(stu[ID].department==1)//是普通职工
i=ID;
请输入要修改的工号:
for(i=0;
i++)//查找了所有信息,查询是否存在输入的信息
if(strcmp(stu[i].num,s)==0)
break;
if(i==len)//相等,说明输入信息不存在
system("
return;
while(check(stu[i].num,i)==1)
修改成功!
search()//职工信息查询
请输入要查询的工号:
//存在
查询结果如下:
********************************************************************************"
if(i==ID||ID>
1)//是自己或不是普通职工
姓名工号性别年龄部门地址工资出生日期"
endl<
cout.setf(ios:
left);
//设置左对齐
setiosflags(ios:
fixed)<
setprecision
(2)//设置保留小数,其用法见书上228页的格式输出
setw(10)<
stu[i].name
setw(6)<
setw(12)<
<
姓名:
工号:
性别:
年龄:
部门:
出生日期:
"
endl;
*****************************************************************************"
备注:
1、普通职工2、人事部门人员3、财务部门人员"
voidlogin()//实现职工登录
charnum[10],pswd[10];
******************************************************************************"
人事部门初始工号:
0密码:
0"
\n\n\n\n\n\n\n请输入工号:
num;
i++)//查找所有信息,看是否存在输入的信息
if(strcmp(stu[i].num,num)==0)
对不起!
exit(0);
请输入密码:
pswd;
if(strcmp(pswd,stu[i].pswd)!
=0)//匹配密码
密码错误,登录失败。
ID=i;
//登录者索引
登录成功。
menu()//总的功能菜单
intc;
if(stu[ID].department==1)
********************************************************"
1、修改职工信息"
2、查询职工信息"
3、返回登录"
elseif(stu[ID].department==2)
**********************************************************"
1、增加职工信息"
2、修改职工信息"
3、查询职工信息"
4、删除职工信息"
5、返回登录"
elseif(stu[ID].department==3)
1、修改职工工资"
请选择:
c;
returnc;
//以下是对普通员工、人事部门、财务部门权限的分类
intperson1()//普通员工所具有的权限设置
personstud;
stud.load();
//读取文件信息
intsel=stud.menu();
//获取选择
switch(sel)
case1:
stud.modify();
break;
//修改
case2:
stud.search();
//查询
case3:
//返回登录
intrenshi1()//人事部门的功能
renshistud;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 信息管理 系统 外加 课程设计 报告