员工工资管理系统源代码呕心沥血整理版.docx
- 文档编号:7696087
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:17
- 大小:20.04KB
员工工资管理系统源代码呕心沥血整理版.docx
《员工工资管理系统源代码呕心沥血整理版.docx》由会员分享,可在线阅读,更多相关《员工工资管理系统源代码呕心沥血整理版.docx(17页珍藏版)》请在冰豆网上搜索。
员工工资管理系统源代码呕心沥血整理版
#include h〉 #include h〉 typedefstruct { intbasic;//基本工资 intposition;//岗位工资 intsubsidy;//津贴 intwages;//奖金 intsum;//总工资 }money; typedefstruct { charnum[20];//职工号 charname[20];//姓名 intage;//年龄 charsex[20];//性别 moneysalary;//工资 }employee; intPrint_jinru();//账号密码输入 voidFscan_information();//“职工信息。 txt”文件写入 voidPrint_staff();//全体员工 voidPrint_empl1(charx[51]);//按职工号查询 voidPrint_empl2(chars[51]);//按姓名查询 voidPrint_MainInterface();//主界面 voidPrint_Interface_1();//职工信息录入界面 voidPrint_Interface_2();//职工信息查询界面 voidPrint_Interface_3();//职工工资排序界面 voidPrint_Interface_4();//职工总工资 voidPrint_Interface_5();//文件读出 voidqsort(intl,intr);//快速排序 voidPrint_delete(intt);//删除职工信息 voidPrint_Interface_2_1(intt);//职工信息修改界面 intfyanzheng(chars1[],chars2[]);//密码验证函数 employeest[500];//记录职工信息的函数 intn;//职工总数 voidmain() { intx; employeeem; printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n”); printf(”@@@@欢迎使用员工工资管理系统@@@@\n”); printf("@@@@制作人: 刘爽@@@@\n”); printf("@@@@在使用中产生的任何问题,欢迎进行批评指正@@@@\n”); printf(”@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n”); printf(”\n”); printf("\n"); printf("\n"); if(Print_jinru()) { Fscan_information(); Print_MainInterface(); } elsereturn; } voidFscan_information() { FILE*fp; inti; if((fp=fopen(”职工信息.txt”,"r"))==NULL) { printf(”cannotopenthisfile\n"); return; } fscanf(fp,”%d",&n); for(i=1;i<=n;i++) { fscanf(fp,”%s%s%d%s%d%d%d",st[i].num,st[i].name,&st[i].age,st[i]。 sex,&st[i].salary。 basic,&st[i]。 salary.subsidy,&st[i]。 salary。 wages); st[i].salary.sum=st[i].salary.basic+st[i]。 salary。 subsidy+st[i]。 salary.wages; } fclose(fp); } intfyanzheng(chars1[],chars2[]) { FILE*fp1,*fp2; charstr1[40]=””,str2[40]="”,st; intt; if((fp1=fopen(”账号验证.in","r"))==NULL) { printf("cannotopenthisfile\n"); return0; } t=0; st=fgetc(fp1); while(st! =’#’) { str1[t]=st; t++; st=fgetc(fp1); } if((fp2=fopen(”密码验证。 in",”r"))==NULL) { printf(”cannotopenthisfile\n"); return0; } t=0; st=fgetc(fp2); while(st! ='#’) { str2[t]=st; t++; st=fgetc(fp2); } fclose(fp1); fclose(fp2); if((strcmp(str1,s1)==0)&&(strcmp(str2,s2)==0)) return1; else return0; } intPrint_jinru() { intf,d; charx[20],y[20]; f=0; d=0; while (1) { printf(”请输入账号: ”); scanf(”%s",x); getchar(); printf("请输入密码: "); scanf(”%s",y); getchar(); f=fyanzheng(x,y); if(d〉3) { printf(”错误次数太多,退出系统\n”); return0; } if(f>0)break; else{ printf(”账号或密码输入错误,请重新输入\n”); d++; } } printf("\n”); printf(”欢迎进入员工工资管理系统! ! ! \n”); return1; } voidPrint_MainInterface() { intx; printf("\n”); printf(”*************************华丽的分割线*************************\n"); printf("\n"); printf("1.职工信息录入\n”); printf(”2。 职工信息查询\n”); printf("3.职工工资排序\n”); printf(”4。 统计职工总工资\n"); printf("5。 保存到文件\n"); printf(”6.退出职工工资系统\n”); printf("请选择所需操作: "); scanf("%d”,&x); if(x==1) Print_Interface_1(); else if(x==2) Print_Interface_2(); else if(x==3) Print_Interface_3(); else if(x==4) Print_Interface_4(); else if(x==5) Print_Interface_5(); else if(x==6) { printf(”***********************\n”); printf("***********\n"); printf(”***********\n"); printf(”****************************\n"); printf("*********\n”); printf(”*********\n"); printf("**************************\n”); //printf("233333333333333333333333333333333333333333333333333333\n”); return; } else { printf("输入命令错误,返回主菜单(再乱输入我找人打你啊)\n”); Print_MainInterface(); } } voidPrint_Interface_1() { n++; if(n>500) { printf("超出职工最大数\n”); Print_MainInterface(); } printf(”\n"); printf("*************************妖精的分割线*************************\n”); printf("\n”); printf(”新建职工号: ”); scanf("%s”,st[n]。 num); printf("姓名: ”); scanf(”%s",st[n]。 name); printf(”年龄: "); scanf("%d”,&st[n]。 age); printf(”性别: "); scanf(”%s”,st[n].sex); printf("基本工资: ”); scanf("%d",&st[n]。 salary.basic); printf("津贴: "); scanf(”%d”,&st[n]。 salary。 subsidy); printf("奖金: "); scanf(”%d”,&st[n]。 salary.wages); st[n].salary.sum=st[n].salary。 basic+st[n]。 salary。 subsidy+st[n]。 salary。 wages; printf(”职工信息已成功录入\n”); Print_MainInterface(); } voidPrint_Interface_2() { intx; chars[50],y[50]; printf("\n”); printf(”*************************逗比的分割线*************************\n”); printf(”\n"); printf(”1。 查询所有职工\n”); printf(”2。 按职工号查询\n"); printf(”3。 按职工姓名查询\n"); printf(”4.返回主菜单\n"); printf("请选择查找方式: \n”); scanf(”%d",&x); if(x==1) Print_staff(); else if(x==2) { printf(”请输入职工工号: ”); scanf(”%s",y); Print_empl1(y); } else if(x==3) { printf(”请输入职工姓名: "); scanf("%s",s); Print_empl2(s); } else if(x==4) Print_MainInterface(); else { printf(”输入命令错误,返回上一层\n"); Print_Interface_2(); } } voidPrint_Interface_3() { charch[10]; printf("\n”); qsort(1,n); printf(”排序完成! 排序后结果请从查询全体职工处查看\n”); Print_MainInterface(); } voidPrint_Interface_4() { inti,All=0; charch[10]; printf("\n”); for(i=1;i〈=n;i++) All=All+st[i]。 salary。 sum; printf("所有职工的总工资为: %d\n”,All); printf("请输入任意字符并敲回车键返回主菜单\n"); scanf("%s",&ch); Print_MainInterface(); } voidPrint_Interface_5() { FILE*fp; charch[10]; inti; if((fp=fopen(”职工信息.txt”,"w”))==NULL) { printf("cannotopenthisfile\n"); return; } fprintf(fp,”%d\n”,n); for(i=1;i〈=n;i++) fprintf(fp,"%s%s%d%s%d%d%d\n”,st[i].num,st[i].name,st[i].age,st[i]。 sex,st[i]。 salary。 basic,st[i]。 salary。 subsidy,st[i].salary。 wages); fclose(fp); printf(”\n”); printf(”已保存到文件\n”); printf(”\n”); printf(”请输入任意字符返回主菜单\n”); scanf("%s",&ch); Print_MainInterface(); } voidPrint_staff() { inti; printf(”\n”); printf("*************************帅比的分割线*************************"); printf("\n"); for(i=1;i<=n;i++) { printf("职工工号: %s\n”,st[i]。 num); printf(”姓名: %s\n”,st[i].name); printf(”年龄: %d\n”,st[i].age); printf("性别: %s\n”,st[i]。 sex); printf(”基本工资: %d\n”,st[i]。 salary。 basic); printf(”津贴: %d\n",st[i].salary.subsidy); printf(”奖金: %d\n”,st[i].salary。 wages); printf("总工资: %d\n”,st[i].salary.sum); printf(”\n”); } printf(”返回上一层\n”); Print_Interface_2(); } voidPrint_empl1(charx[]) { inti,t,y,d=0; printf(”\n”); for(i=1;i〈=n;i++) if(strcmp(x,st[i]。 num)==0) { t=i; d=1; printf("职工工号: %s\n”,st[i]。 num); printf("姓名: %s\n”,st[i].name); printf(”年龄: %d\n",st[i]。 age); printf(”性别: %s\n”,st[i].sex); printf("基本工资: %d\n”,st[i]。 salary。 basic); printf(”津贴: %d\n”,st[i]。 salary。 subsidy); printf(”奖金: %d\n”,st[i]。 salary.wages); printf(”总工资: %d\n”,st[i]。 salary。 sum); printf(”\n"); break; } if(d〉0) { printf(”如需删除请按2,修改请按1,返回请按0\n"); scanf(”%d",&y); if(y==2) Print_delete(t); else if(y==1) Print_Interface_2_1(t); else if(y==0) Print_Interface_2(); else { printf("输入命令错误,返回上一层(再乱输入我找人打你啊)\n”); Print_Interface_2(); } } else { printf("对不起,查无此人(本系统不包括路人甲乙丙,不要乱输—_-! )\n”); printf(”请重新选择查询方式\n”); Print_Interface_2(); } } voidPrint_empl2(chars[]) { inti,t,x,y=0; printf(”\n"); for(i=1;i〈=n;i++) if(strcmp(s,st[i].name)==0) { t=i; y=1; printf("职工工号: %s\n”,st[i].num); printf(”姓名: %s\n”,st[i]。 name); printf("年龄: %d\n",st[i]。 age); printf(”性别: %s\n”,st[i]。 sex); printf(”基本工资: %d\n",st[i].salary。 basic); printf("津贴: %d\n”,st[i]。 salary.subsidy); printf(”奖金: %d\n”,st[i]。 salary。 wages); printf("总工资: %d\n”,st[i].salary。 sum); printf(”\n"); break; } if(y〉0) { printf("如需删除请按2,修改请按1,返回请按0(再乱输入我找人打你啊)\n”); scanf("%d",&x); if(x==2) Print_delete(t); else if(x==1) Print_Interface_2_1(t); else if(x==0) Print_Interface_2(); else { printf("输入命令错误,返回上一层\n”); Print_Interface_2(); } } else { printf(”对不起,查无此人(本系统不包括路人甲乙丙,不要乱输-_-! )\n”); printf(”请重新选择查询方式\n"); Print_Interface_2(); } } voidPrint_delete(intt) { st[t]。 salary。 sum=0; qsort(1,n); n——; printf(”已删除该职工并排序,自动返回主菜单\n”); Print_MainInterface(); } voidPrint_Interface_2_1(intt) { intx; printf("\n"); printf("请选择以下选项: \n"); printf(”1。 职工号\n”); printf("2。 姓名\n"); printf(”3。 年龄\n"); printf(”4。 性别\n"); printf(”5。 基本工资\n"); printf(”6.津贴\n"); printf("7。 奖金\n”); printf(”8.返回上一层\n”); printf(”9。 返回主菜单\n”); scanf(”%d”,&x); switch(x) { case1: scanf("%s”,st[t].num);break; case2: scanf(”%s",st[t].name);break; case3: scanf("%d",st[t].age);break; case4: scanf(”%s”,st[t].sex);break; case5: scanf(”%s",st[t].salary。 basic);break; case6: scanf(”%d",st[t].salary。 subsidy);break; case7: scanf("%d",st[t]。 salary.wages);break; } st[t].salary。 sum=st[t]。 salary。 basic+st[t].salary。 subsidy+st[t].salary。 wages; if(x<=8) Print_Interface_2(); else if(x==9) Print_MainInterface(); } voidqsort(intl,intr) { inti,j,mid; employeett; i=l; j=r; mid=st[(l+r)/2]。 salary.sum; do { while(st[i]。 salary.sum>mid)i++; while(st[j].salary。 sum〈mid)j——; if(i<=j) { tt=st[i]; st[i]=st[j]; st[j]=tt; i++; j-—; } }while(i〈=j); if(i〈r)qsort(i,r); if(l〈j)qsort(l,j);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 员工 工资管理 系统 源代码 呕心沥血 整理