C语言课程设计职工工资信息管理系统源代码Word文件下载.docx
《C语言课程设计职工工资信息管理系统源代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计职工工资信息管理系统源代码Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。
![C语言课程设计职工工资信息管理系统源代码Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/1544a562-53c3-4a15-94dc-7a0dd9adeb92/1544a562-53c3-4a15-94dc-7a0dd9adeb921.gif)
voidpaixu();
intchangeposition();
intchangesalary();
voidquerysalary();
voidcreat();
voidmain()
{
do
{
printf("
欢迎进入职工管理系统中文版\n"
);
请你选择操作类型:
\n"
1进入管理系统\n"
2进入查询系统\n"
0退出系统\n"
scanf("
%d"
&
choice);
switch(choice)
case1:
manage();
break;
case2:
query();
case0:
谢谢使用,再见\n"
exit(0);
}
default:
输入有错误请重新输入:
return;
}while
(1);
}
voidmanage()
intchoicemanage;
charchoice='
y'
;
while(choice=='
||choice=='
Y'
)
欢迎进入管理系统\n"
1输入职工信息\n"
2显示职工信息\n"
3修改职工信息\n"
4追加一个职工信息\n"
5删除一个职工信息\n"
6排序\n"
0返回\n"
choicemanage);
switch(choicemanage)
input();
display();
case3:
change();
case4:
add();
case5:
del();
case6:
paixu();
谢谢你的使用再见\n"
你的输入有错请重新输入\n"
是否继续管理?
(y/n)"
%s"
if(toupper(choice)=='
N'
||(choice)=='
n'
输入完毕,任意键返回\n"
getch();
voidinput()
FILE*fp;
inti=0;
charchoiceinput='
if((fp=fopen("
employee.txt"
"
w"
))==NULL)
while(choiceinput=='
||choiceinput=='
i++;
第%d个职工\n"
i);
请你输入工号:
em[i].num);
请你输入职位:
1董事长2总经理3副总经理\n"
4经理5副经理6秘书\n"
7技术员8领班9员工\n"
em[i].position);
请你输入姓名:
em[i].name);
请你输入性别以m为男f为女:
em[i].sex);
请你输入工资:
em[i].salary);
是否继续输入?
(y/n)\n"
choiceinput);
fwrite(&
em[i],sizeof(structemployee),1,fp);
if(toupper(choiceinput)=='
fclose(fp);
voiddisplay()
inti;
r"
输出结果:
for(i=0;
fread(&
em[i],sizeof(structemployee),1,fp)!
=0;
i++)
工号%d\n"
em[i].num);
职位为%d\n"
em[i].position);
姓名为%s\n"
性别为%s\n"
其中m为男f为女\n"
工资为%d\n"
em[i].salary);
完毕按任意键返回\n"
voidchange()
charchname[8];
intchoicechange;
请你输入要修改的人的姓名:
chname);
w+"
不能够打开这个文件\n"
i<
N;
if(strcmp(chname,em[i].name)==0)
这是你要修改的人的信息\n"
工号为%d\n职位为%d\n姓名为%s\n性别为%s\n工资为%d\n"
em[i].num,em[i].position,em[i].name,em[i].sex,em[i].salary);
请你输入要修改的部分:
1修改职位\n"
2修改工资\n"
请选择\n"
choicechange);
switch(choicechange)
em[i].position=changeposition();
em[i].salary=changesalary();
default:
输入有错误"
}
操作完成按任意键返回\n"
intchangeposition()
intnewposition;
请你输入新职位:
newposition);
return(newposition);
intchangesalary()
intnewsalary;
请你输入新的工资:
newsalary);
return(newsalary);
voidadd()
structemployeeemp;
ab+"
请你输入新人的内容:
emp.position);
emp.name);
emp.sex);
emp.salary);
emp,sizeof(structemployee),1,fp);
rewind(fp);
插入完毕,按任意键返回\n"
voiddel()
chardelname[8];
文件为空,不能够打开\n"
按任意键返回\n"
请你输入要删除的人的姓名:
delname);
if(strcmp(em[i].name,delname)!
=0)
新的职工的信息为:
工号%d"
职位为%d"
em[i].name[8]);
em[i].sex[2]);
voidquery()
charquename[8];
不能够打开文件,按任意键返回\n"
请你输入要查询的人的姓名\n"
quename);
if(strcmp(em[i].name,quename)==0)
\t\t\n查询到的职工号或姓名为的信息如下:
以下是你要查询的人的信息\n"
\t1董事长2总经理3副总经理\n"
\t4经理5副经理6秘书\n"
\t7技术员8领班9员工\n"
\t其中m为男f为女\n"
查询完毕,按任意键返回\n"
没有这样的人,按任意键返回\n"
voidquerysalary()
FILE*fp1,*fp2;
creat();
if((fp1=fopen("
em[i],sizeof(structemployee),1,fp1)!
输出结果为:
1董事长2总经理3副总经理\n"
4经理5副经理6秘书\n"
7技术员8领班9员工\n"
strcpy(emps[i].name,em[i].name);
emps[i].salary=em[i].salary;
if((fp2=fopen("
empsalary.txt"
emps[i],sizeof(structempsalary),1,fp2);
fclose(fp1);
fclose(fp2);
voidcreat()
D:
\\employee.txt"
voidpaixu()
intmax,i,t,j;
for(i=1;
10;
max=em[i].salary;
for(j=i;
j<
j++)
{
if(em[j].salary>
max)
{
max=em[j].salary;
t=em[j].salary;
em[j].salary=t;
}
}
姓名工资工号性别职位\n"
printf("
%s%d%d%s%d\n"
em[i].name,em[i].salary,em[i].num,em[i].sex,em[i].position);