c语言实训工资管理系统.docx
- 文档编号:15520268
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:15
- 大小:16.24KB
c语言实训工资管理系统.docx
《c语言实训工资管理系统.docx》由会员分享,可在线阅读,更多相关《c语言实训工资管理系统.docx(15页珍藏版)》请在冰点文库上搜索。
c语言实训工资管理系统
#include
#include
#include
voidrank()
{voidzhucaidanjiemian();
FILE*fp;
inti,j,k,h=0,num=0;
charx,u;
structempleer
{charname[8];
charsex;
charmon[20];
charnum[14];
longintgro;
}emp[100];
structlswj
{charname[8];
charsex;
charmon[20];
charnum[14];
longintgro;
}ls[100];
fp=fopen("F:
\\数据.dat","rb+");
for(i=0;i<100;i++)
{fread(&emp[i],sizeof(structempleer),1,fp);/*读取信息*/
num++;
if(feof(fp))
break;
}
fclose(fp);
for(i=0;i {for(j=0,k=1;k<=num-2;) {if(strcmp(emp[j].name,emp[k].name)>0) {strcpy(ls[i].name,emp[j].name); ls[i].sex=emp[j].sex; strcpy(ls[i].mon,emp[j].mon); strcpy(ls[i].num,emp[j].num); ls[i].gro=emp[j].gro; strcpy(emp[j].name,emp[k].name); emp[j].sex=emp[k].sex; strcpy(emp[j].mon,emp[k].mon); strcpy(emp[j].num,emp[k].num); emp[j].gro=emp[k].gro; strcpy(emp[k].name,ls[i].name); emp[k].sex=ls[i].sex; strcpy(emp[k].mon,ls[i].mon); strcpy(emp[k].num,ls[i].num); emp[k].gro=ls[i].gro; } j++;k++; } } fp=fopen("F: \\数据.dat","rb+"); fseek(fp,0*sizeof(structlswj),0); for(h=0;h fwrite(&emp[h],sizeof(structempleer),1,fp); fclose(fp); printf("是否返回到主菜单y/n? "); scanf("%c%c%c",&u,&x,&u); if(x=='y') {system("cls"); zhucaidanjiemian(); } } voiddel() {voidzhucaidanjiemian(); FILE*fp; inti,num=0,t=0; charxm[8]="shout",w,x,u; structempleer {charname[8]; charsex; charmon[20]; charnum[14]; longintgro; }emp[100]; structlswj {charname[8]; charsex; charmon[20]; charnum[14]; longintgro; }ls; printf("请输入要删除个人信息的姓名: "); scanf("%s%c",&xm,&w); fp=fopen("F: \\数据.dat","rb+"); for(i=0;i<100;i++) {fread(&emp[i],sizeof(structempleer),1,fp); if(strcmp(xm,emp[i].name)! =0) num++; if(strcmp(xm,emp[i].name)==0) {t++; break;} if(feof(fp)) break; } if(t! =0) { fseek(fp,num*sizeof(structempleer),0); strcpy(ls.name,xm); ls.sex=emp[num].sex; strcpy(ls.mon,emp[num].mon); strcpy(ls.num,emp[num].num); ls.gro=3845972; fwrite(&ls,sizeof(structempleer),1,fp); } fclose(fp); if(t<=0) {printf("输入需要删除的人名有误\n"); printf("是否再次输入需要删除的人名y/n\n"); scanf("%c%c",&w,&u); if(w=='y') del(); } printf("是否返回到主菜单y/n? "); scanf("%c%c",&x,&u); if(x=='y') zhucaidanjiemian(); } voidscan()/*定义浏览函数*/ {voidzhucaidanjiemian(); charx,u,xm[8]="shout"; inti,num=0; FILE*fp; structempleer {charname[8]; charsex; charmon[20]; charnum[14]; longintgro; }emp[100]; fp=fopen("F: \\数据.dat","rb+"); for(i=0;i<100;i++) {fread(&emp[i],sizeof(structempleer),1,fp);/*读取信息*/ num++; if(feof(fp)) break; } fclose(fp); for(i=0;i {if(emp[i].gro! =3845972) {printf("姓名: %-8s\n性别: %c\n银行卡号: %s\n手机号码: %-14s\n工资数额: %d\n",emp[i].name,emp[i].sex,emp[i].mon,emp[i].num,emp[i].gro);/*输出所有信息*/ printf("\n"); printf("\n");} } printf("是否返回主菜单y/n\n"); scanf("%c%c",&u,&x); if(x=='y')/*判断是否返回主菜单*/ {system("cls"); zhucaidanjiemian();} } voidinformation()/*定义录入函数*/ {voidzhucaidanjiemian(); FILE*fp;/*定义文件指针*/ intnum=0,i; charu,o='y',x; structempleer {charname[8]; charsex; charmon[20]; charnum[14]; longintgro; }emp[100]; for(i=0;i<100&&o=='y';i++) {printf("请输入姓名: "); scanf("%s%c",&emp[i].name,&u);/*录入相关信息*/ printf("请输入性别: "); scanf("%c%c",&emp[i].sex,&u); printf("请输入银行卡号: "); scanf("%s%c",&emp[i].mon,&u); printf("请输入手机号码: "); scanf("%s%c",&emp[i].num,&u); printf("请输入工资数额: "); scanf("%d%c",&emp[i].gro,&u); printf("是否继续录入数据y/n? \n");/*判断是否据需录入信息*/ scanf("%c%c",&o,&u); num+=1; } fp=fopen("F: \\数据.dat","wb+"); for(i=0;i { fwrite(&emp[i],sizeof(structempleer),1,fp); } fclose(fp); printf("是否返回到主菜单y/n? "); scanf("%c%c",&x,&u); if(x=='y')/*判断是否返回主菜单*/ {system("cls"); zhucaidanjiemian();} } voidchange()/*定义修改函数*/ {voidzhucaidanjiemian(); FILE*fp;/*定义文件指针*/ inti,num=0,t=0; charxm[8],w,x,u; structempleer {charname[8]; charsex; charmon[20]; charnum[14]; longintgro; }emp[100]; structlswj {charname[8]; charsex; charmon[20]; charnum[14]; longintgro; }ls; printf("请输入要修改个人信息的姓名: "); scanf("%s%c",&xm,&w); fp=fopen("F: \\数据.dat","rb+"); for(i=0;i<100;i++) {fread(&emp[i],sizeof(structempleer),1,fp); if(strcmp(xm,emp[i].name)! =0) num++; if(strcmp(xm,emp[i].name)==0)/*进行对比信息*/ {t++; break;} if(feof(fp)) break; } if(t! =0) { fseek(fp,num*sizeof(structlswj),0); strcpy(ls.name,xm); printf("请输入正确性别: "); scanf("%c%c",&ls.sex,&u);/*输入修改信息*/ printf("请输入正确银行卡号: "); scanf("%s%c",&ls.mon,&u); printf("请输入正确手机号码: "); scanf("%s%c",&ls.num,&u); printf("请输入正确工资数额: "); scanf("%d%c",&ls.gro,&u); fwrite(&ls,sizeof(structlswj),1,fp);/*将原有信息覆盖*/ } fclose(fp); if(t<=0) {printf("输入需要修改的人名有误\n"); printf("是否再次输入需要修改的人名y/n\n"); scanf("%c%c",&w,&u); if(w=='y') change(); } printf("是否返回到主菜单y/n? "); scanf("%c%c",&x,&u); if(x=='y')/*判断是否返回主菜单*/ {system("cls"); zhucaidanjiemian();} } voidsearch()/*定义查找函数*/ {voidzhucaidanjiemian(); FILE*fp;/*定义文件指针*/ inti,num=0; charxm[20],w,x,t='y'; structempleer {charname[8]; charsex; charmon[20]; charnum[14]; longintgro; }emp[100]; for(;t=='y';) {printf("请输入要查找的姓名: "); scanf("%s%c",&xm,&w); fp=fopen("F: \\数据.dat","rb+"); for(i=0;i<100;i++) {fread(&emp[i],sizeof(structempleer),1,fp); if(strcmp(xm,emp[i].name)==0) printf("姓名: %s\n性别: %c\n银行卡号: %s\n手机号码: %s\n工资数额: %d\n",emp[i].name,emp[i].sex,emp[i].mon,emp[i].num,emp[i].gro);/*输出相关信息*/ num+=1; if(feof(fp)) break; } fclose(fp); printf("是否继续进行查找y/n? \n");/*判断是否继续查找*/ scanf("%c%c",&t,&w); } printf("是否返回主菜单y/n\n"); scanf("%c",&x); if(x=='y')/*判断是否返回主菜单*/ {system("cls"); zhucaidanjiemian();} } voidadd()/*定义增加函数*/ {voidzhucaidanjiemian(); FILE*fp;/*定义文件指针*/ charu,x,w='y'; structempleer {charname[8]; charsex; charmon[20]; charnum[14]; longintgro; }emp; for(;w=='y';) {printf("请输入需要增加的信息\n"); printf("请输入姓名: "); scanf("%s%c",&emp.name,&u);/*输入相关信息*/ printf("请输入性别: "); scanf("%c",&emp.sex); printf("请输入银行卡号: "); scanf("%s%c",&emp.mon,&u); printf("请输入手机号码: "); scanf("%s%c",&emp.num,&u); printf("请输入工资数额: "); scanf("%d%c",&emp.gro,&u); fp=fopen("F: \\数据.dat","ab"); fwrite(&emp,sizeof(structempleer),1,fp); fclose(fp); printf("继续增添信息y/n\n");/*判断是否继续增加信息*/ scanf("%c%c",&w,&u); } printf("是否返回主菜单y/n\n"); scanf("%c",&x); if(x=='y')/*判断是否返回主菜单*/ {system("cls"); zhucaidanjiemian();} } voidzhucaidanjiemian()/*定义主菜单函数*/ {inti; voidadd();/*申明增加函数*/ voidsearch();/*申明查找函数*/ voidinformation();/*申明录入函数*/ voidchange();/*申明录入函数*/ voidscan();/*申明浏览函数*/ voiddel();/*申明删除函数*/ voidrank();/*申明排序函数*/ printf("****************主菜单界面******************\n"); printf("***************************\n"); printf("*0.exit(退出菜单)*\n*1.ininformation(录入信息)*\n*2.search(查找)*\n*3.add(新增信息)*\n*4.change(修改信息)*\n*5.scan(浏览信息)*\n*6.del(删除信息)*\n*7.rank(排序信息)*\n"); printf("***************************\n"); printf("输入0~5进行功能选择\n"); scanf("%d",&i); switch(i) {case0: break; case1: information();break;/*选择录入功能*/ case2: search();break;/*选择查找功能*/ case3: add();break;/*选择增加功能*/ case4: change();break;/*选择修改功能*/ case5: scan();break;/*选择浏览功能*/ case6: del();break;/*选择删除功能*/ case7: rank();break; default: ; } } main()/*定义主函数*/ {voidzhucaidanjiemian(); intt,i; charu,xm[8],x[8]="251810",mi[8]; printf("*******************工资管理系统***************\n"); printf("0.exit(退出系统)\n1.(登陆系统)\n"); printf("请进行功能选择\n"); scanf("%d%c",&t,&u); printf("\n"); if(t! =0&&t! =1)/*对选择进行判断*/ {printf("输入错误! 请输入0或1进行功能选择\n"); main(); } printf("请输入用户名: "); scanf("%s%c",&xm,&u); printf("密码输入三次错误将退出系统\n"); if(t==1) for(i=0;i<3;i++) {printf("请输入密码: "); scanf("%s%c",&mi,&u); if(strcmp(x,mi)==0) {zhucaidanjiemian(); break; } if(strcmp(x,mi)! =0) printf("密码错误! \n"); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 工资管理 系统