华工职工管理系统源代码Word文档格式.docx
- 文档编号:19987231
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:18
- 大小:17.40KB
华工职工管理系统源代码Word文档格式.docx
《华工职工管理系统源代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《华工职工管理系统源代码Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
/*声明输出函数*/
voidmodify();
/*声明修改函数*/
voiddeletes();
/*声明删除函数*/
voidsave();
/*声明保存函数*/
voidread();
/*声明录入函数*/
voidsort();
/*声明排序存函数*/
intm;
showmenu();
scanf("
%d"
&
m);
for(;
m>
=0&
&
m<
=8;
)
switch(m)
case1:
append();
/*用户选择1号菜单,程序执行添加的数据文件的函数*/
break;
case2:
search();
/*用户选择2号菜单,程序执行查找数据的函数*/
case3:
modify();
/*用户选择3号菜单,程序执行修改数据的函数*/
case4:
deletes();
/*用户选择4号菜单,程序执行删除数据的函数*/
case5:
output();
/*用户选择5号菜单,程序执行输出数据录的函数*/
case6:
save();
/*用户选择6号菜单,程序执行保存数据的函数*/
case7:
read();
/*用户选择7号菜单,程序执行读取文件的函数*/
case8:
sort();
/*用户选择8号菜单,程序执行排序数据的函数*/
case0:
exit(0);
/*用户选择3号菜单,程序执行退书的函数*/
printf("
\n\n操作完毕,请再次选择!
"
);
default:
错误,重新输入\n"
}
/*主菜单函数*/
voidshowmenu()/*显示主菜单,并返回用户所选择的菜单项的编号*/
printf("
********************************************************************\n"
^^^^^^^^^^^^^^^^^^^^^^^职工档案管理系统^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"
----------------------------------设计者:
陈文凯---------------------\n"
*******************************************************************\n"
\n"
&
1,添加职工5,输出职工&
2,查找职工6,保存职工&
3,修改职工7,读取档案&
4,删除职工8,职工排序&
--------------------------------------------退出,请按0----------------\n"
请选择(0--8):
/*添加函数*/
voidappend()
{intnumber,i;
FILE*fp;
charfilepn[MAX_NUM];
system("
cls"
printf("
\n您选择的是添加职工!
\n"
\n请输入本次添加的职工人数:
"
number);
if(number>
MAX_NUM)
您输入的人数太多,大于%d人!
MAX_NUM);
for(i=0;
i<
number;
i++)
\n请输入第%d个职工的编号:
\t"
i+1);
work[i].ID);
\t职工档案:
\t\t姓名:
%s"
work[i].Name);
\t\t出生年月:
work[i].Birth);
\t\t电话:
work[i].Telenum);
\t\t性别:
work[i].Sex);
\t\t工资:
work[i].Wage);
\t\t部门:
work[i].Department);
\t\t职称:
work[i].Job);
\n您的输入是:
**********************************职工档案信息库*************************\n"
序号编号姓名出生年月电话\t性别\t工资\t部门\t职称\n"
%d%d%s%s\t%s\t%s\t%d\t%s\t%s\n"
i+1,work[i].ID,work[i].Name,work[i].Birth,work[i].Telenum,work[i].Sex,work[i].Wage,work[i].Department,work[i].Job);
*************************************************************************\n"
/*查找函数*/
voidsearch()
intnumber=MAX_NUM,findID,v,i;
charfindName[30];
\n您选择的是档案查询!
*****************************请选择查询方式********************************\n"
\t\t1--按编号查找;
\t\t\t\t2--按姓名查找\n"
/*以下可以修改为子菜单方式:
1--按编号查找,2--按姓名查找*/
***************************************************************************\n"
请选择:
v);
switch(v)
{case1:
system("
\n您选择的是按编号查找!
\n请输入职工的编号:
findID);
if(work[i].ID==findID)
if(i<
number)
查找结果如下:
\t编号\t姓名\t出生年月\t电话\t性别\t工资\t部门\t职称\n"
\t%d\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n"
work[i].ID,work[i].Name,work[i].Birth,work[i].Telenum,work[i].Sex,work[i].Wage,work[i].Department,work[i].Job);
elseprintf("
您输入的编号不存在!
\n您选择的是按姓名查找!
\n请输入职工的姓名:
findName);
;
if(!
strcmp(work[i].Name,findName))
您输入的姓名不存在!
/*输出函数*/
voidoutput()
{inti,number=MAX_NUM;
for(i=0;
{
}
voiddeletes()
{intfindID,i,j,number=MAX_NUM;
\n您选择的是档案删除!
{for(j=i;
j<
number-1;
j++)
work[j].ID=work[j+1].ID;
strcpy(work[j].Name,work[j+1].Name);
strcpy(work[j].Telenum,work[j+1].Telenum);
strcpy(work[j].Birth,work[j+1].Birth);
strcpy(work[j].Sex,work[j+1].Sex);
work[j].Wage=work[j+1].Wage;
strcpy(work[j].Department,work[j+1].Department);
strcpy(work[j].Job,work[j+1].Job);
else
work[i].ID,work[i].Name,work[i].Telenum,work[i].Birth,work[i].Sex,work[i].Wage,work[i].Department,work[i].Job);
number--;
/*修改函数*/
voidmodify()
intfindID,i,number=MAX_NUM;
charyz[9],psw[9]={"
12345678"
};
\n您选择的是档案修改!
while
(1)
\n请输入密码!
9;
yz[i]=getch();
*"
if(yz[i]=='
\r'
yz[i]='
\0'
break;
if(!
strcmp(psw,yz))
\n密码正确!
else
密码错误,请重输!
\t姓名\t出生年月电话\t\t性别\t工资\t部门\t职称\n"
原档案:
\n\t%d\t%s\t%s\t%s\t%d\t%s\t%s\n"
work[i].Name,work[i].Birth,work[i].Telenum,work[i].Sex,work[i].Wage,work[i].Department,work[i].Job);
请输入新档案:
\n"
else
/*保存函数*/
voidsave()
FILE*fp;
intnumber=MAX_NUM,i;
您选择的是职工档案的保存!
请输入文件路径及文件名:
filepn);
if((fp=fopen(filepn,"
w+"
))==NULL)
不能打开文件!
for(i=0;
i++)
if(fwrite(&
work[i],sizeof(structworker),1,fp)!
=1)
写入文件错误!
fclose(fp);
文件已经保存!
/*读取档案函数*/
voidread()
{FILE*fp;
您选择的是职工档案的读取!
/*输入文件路径及名称*/
r+"
}i=0;
while(!
feof(fp))
fread(&
work[i++],sizeof(structworker),1,fp);
number=i-1;
/*排序函数*/
voidsort()
inti,j,n=MAX_NUM,s,v;
chartemp[20];
\n您选择的是数据排序!
*****************************请选择排序方式********************************\n"
\t\t1--按编号排序;
\t\t\t\t2--按工资排序\n"
1--按编号排序,2--按工资排序*/
=n;
for(j=i+1;
if(work[j].ID<
work[i].ID)
strcpy(temp,work[i].Birth);
strcpy(work[i].Birth,work[j].Birth);
strcpy(work[j].Birth,temp);
strcpy(temp,work[i].Name);
strcpy(work[i].Name,work[j].Name);
strcpy(work[j].Name,temp);
strcpy(temp,work[i].Sex);
strcpy(work[i].Sex,work[j].Sex);
strcpy(work[j].Sex,temp);
s=work[i].Wage;
work[i].Wage=work[j].Wage;
work[j].Wage=s;
strcpy(temp,work[i].Telenum);
strcpy(work[i].Telenum,work[j].Telenum);
strcpy(work[j].Telenum,temp);
strcpy(temp,work[i].Department);
strcpy(work[i].Department,work[j].Department);
strcpy(work[j].Department,temp);
strcpy(temp,work[i].Job);
strcpy(work[i].Job,work[j].Job);
strcpy(work[j].Job,temp);
s=work[i].ID;
work[i].ID=work[j].ID;
work[j].ID=s;
新的排序如下:
n;
break;
intk;
\n您选择的是按工资排序!
\t\t1--按工资从高到低排序;
\t\t\t\t2--按工资从低到高排序\n"
1--按工资从高到低排序;
2--
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华工 职工 管理 系统 源代码