职工信息管理系统程序Word格式.docx
《职工信息管理系统程序Word格式.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统程序Word格式.docx(17页珍藏版)》请在冰点文库上搜索。
voidGoout();
system("
cls"
);
printf("
***************************************************************"
\n"
---职工管理工资系统---"
1、添加职工信息"
2、修改职工信息"
3、输出指定职工信息"
4、输出全体职工信息"
5、删除指定职工信息"
6、排序职工工资信息"
7、退出系统\n"
请输入你要实现功能的序号\n"
scanf("
%d"
&
x);
if(x<
0||x>
8)
{k=1;
system("
}
else
k=0;
while(k==1);
switch(x){
case1:
AddNew();
break;
case2:
DoMotify();
case3:
DoFind();
case4:
List();
case5:
DoDelete();
case6:
Sort();
case7:
Goout();
}
/*...................................输入功能.............................................*/
voidprintfface1(inti){
请输入职工工号(1-1000)\n"
staff[i].num);
while(staff[i].num<
1||staff[i].num>
1000){
printf("
输入有误!
请重新输入!
请输入职工姓名\n"
%s"
staff[i].name);
请输入职工性别(男、女)\n"
staff[i].sex);
while(strcmp(staff[i].sex,"
男"
)&
&
strcmp(staff[i].sex,"
女"
)){
请输入职工年龄(18-60)\n"
staff[i].age);
while(staff[i].age<
18||staff[i].age>
60){
scanf("
请输入职工部门(研发部、营销部、生产部、财务部、行政部)\n"
staff[i].department);
while(strcmp(staff[i].department,"
研发部"
strcmp(staff[i].department,"
营销部"
生产部"
行政部"
财务部"
请输入基本工资、奖金、扣款\n"
%d%d%d"
staff[i].jbgz,&
staff[i].jj,&
staff[i].kk);
/*-----------------------输出功能---------------------------------*/
voidprintfface2(){
工号姓名性别年龄部门基本工资奖金扣款实发工资\n"
voidoutput(inti){
%d%13s%5s%8d%12s%9d%11d%7d%10d\n"
staff[i].num,staff[i].name,staff[i].sex,staff[i].age,staff[i].department,staff[i].jbgz,staff[i].jj,staff[i].kk,staff[i].sfgz);
/*---------------------保存功能---------------------------------*/
voidsave(intn){
FILE*fp;
inti;
if((fp=fopen("
D:
\\zhigonggongzi.txt"
"
wb"
))==NULL){
cannotfingthisfile!
"
exit(0);
for(i=0;
i<
n;
i++)
if(staff[i].num!
=0)
if(fwrite(&
staff[i],sizeof(structemp),1,fp)!
=1)
filewriteerror!
fclose(fp);
/*-------------------------提示功能--------------------------*/
voidprintfback(){
---------------------------------------------------------------------"
成功!
"
你接下来想实现的功能?
1、返回菜单"
2、退出程序"
i);
if(i==1)
meun();
elseif(i==2)
Goout();
/*----------------------------------写入功能---------------------*/
load(){
rb"
cannotfindthisfile!
!
feof(fp);
i++)/*首先,feof()是文件结束检测函数,如果没有结束,返回值是0,结束了是1,由于feof(fp)返回0才是没有结束,所以通常写成while(!
feof(fp)),这样使得没有结束时进行循环.*/
fread(&
staff[i],sizeof(structemp),1,fp);
return(i-1);
/*.......................添加功能.......................*/
voidAddNew(){
inti,n;
请输入添加的职工人数\n"
n);
if(n<
1||n>
输入错误!
else{
i++){
printfface1(i);
staff[i].sfgz=staff[i].jbgz+staff[i].jj-staff[i].kk;
save(n);
printf("
\t\t你添加的功能已经成功保存!
printfback();
/*...................修改功能..........................*/
voidDoMotify(){
inti,n,x,m,t,p,j=-1;
chark[15];
m=load();
请选择修改的方式!
1、工号\n"
2、姓名"
if(n!
=1&
n!
=2){
getchar();
DoMotify();
elseif(n==1){
while(j==-1){
请输入你要修改的职工工号\n"
m;
if(x==staff[i].num)
j=i;
if(j==-1)
没有找到!
elseif(n==2){
请输入你要修改的职工姓名\n"
k);
if(strcmp(k,staff[i].name)==0)
请输入要修改的项目\n"
*************************************************\n"
1、工号\n"
2、姓名\n"
3、性别\n"
4、年龄\n"
5、部门\n"
6、基本工资\n"
7、奖金\n"
8、扣款*\n"
t);
switch(t){
printf("
请输入修改后的工号\n"
scanf("
staff[j].num);
break;
请输入修改后的姓名\n"
staff[j].name);
请输入修改后的性别\n"
%c"
staff[j].sex);
请输入修改后的年龄\n"
staff[j].age);
请输入修改后的部门\n"
staff[j].department);
请输入修改后的基本工资\n"
staff[j].jbgz);
请输入修改后的奖金\n"
staff[j].jj);
case8:
请输入修改后的扣款\n"
staff[j].kk);
printfface2();
staff[j].sfgz=staff[j].jbgz+staff[j].jj-staff[j].kk;
output(j);
1、保存\n"
2、不保存\n"
p);
if(p==1)
save(m);
j=-1;
/*....................输出指定员工信息.........................*/
voidDoFind(){
inti,m,j,p,n=-1;
chark[20];
请输入你要查找的方式!
***********************************************\n"
2、姓名\n"
if(i!
i!
DoFind();
{if(i==1){
while(n==-1){
请输入要查找的职工工号\n"
for(j=0;
j<
j++)
if(p==staff[j].num)
n=j;
if(n==-1)
elseif(i==2){
请输入要查找的姓名\n"
if(strcmp(k,staff[j].name)==0)
output(n);
/*...................输出全体职工信息......................*/
voidList(){
n=load();
*******************************全体职工工资************************************\n"
output(i);
********************************************************************************\n"
/*..................删除指定职工信息........................*/
voidDoDelete(){
intn,x,i,m,p,j=-1;
请选择你要删除的方式!
if(x!
x!
输入有误请重新输入!
DoDelete();
if(x==1){
请输入你要删除的职工工号\n"
m);
if(m==staff[i].num)
elseif(x==2){
请输入你要删除的职工姓名\n"
for(i=j;
n-1;
staff[i]=staff[i+1];
删除?
1、是\n"
2、否\n"
save(n-1);
/*...............排序职工工资信息..................*/
voidSort(){
intn,i,j,k;
structempt;
请选择你要排序的项目\n"
1、按实发工资从高到低\n"
2、按部门\n"
scanf("
k);
while(k!
k!
printf("
voidsort();
}
if(k==1){
for(j=i+1;
if(staff[i].sfgz>
staff[j].sfgz){
t=staff[i];
staff[i]=staff[j];
staff[j]=t;
else{
for(i=0;
if(strcmp(staff[i].department,"
)==0)
output(i);
if(strcmp(staff[i].department,"
output(i);
printfback();
}
/*.....................退出系统.........................*/
voidGoout(){
*******************************************************"
谢谢你的使用!
/*--------------------------主函数------------------------------------*/
voidmain(){