收藏 分销(赏)

C语言人事档案标准管理系统.doc

上传人:精*** 文档编号:2494487 上传时间:2024-05-30 格式:DOC 页数:13 大小:28.54KB 下载积分:8 金币
下载 相关 举报
C语言人事档案标准管理系统.doc_第1页
第1页 / 共13页
C语言人事档案标准管理系统.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
#include <stdio.h> #include <string.h> #include <stdlib.h> #define N 10 struct worker { char num[20]; //职员编号 char name[20]; //职员名称 char sex;//职员性别 int age;//职员年纪 char remark[20];//职员备注 } stu[10]; void input()//职员基础信息录入 { int i=0; FILE *fp; //文件指针 for(i=0;i<N;i++) //录入信息 { printf("\n请输入第%d个职员基础信息:\n",i+1); printf("职员编号: "); scanf("%s",stu[i].num); printf("职员名称: "); scanf("%s",stu[i].name); fflush(stdin); printf("职员性别: "); scanf("%c",&stu[i].sex); printf("职员年纪:"); scanf("%d",&stu[i].age); printf("备注: "); scanf("%s",stu[i].remark); } if((fp=fopen("worker-massge","wb"))==NULL) //判定文件打开是否成功 { printf("文件打开失败"); exit(0); } for(i=0;i<N;i++) { if(fwrite(&stu[i],sizeof(struct worker),1,fp)!=1) printf("file writer error\n"); } fclose(fp); } void show(int j)//显示职员信息 { int i; FILE *fp; if((fp=fopen("worker-massge","rb"))==NULL)//判定文件打开是否成功 { printf("文件打开失败"); exit(0); } for(i=0;i<j;i++) fread(&stu[i],sizeof(struct worker),1,fp); /*读磁盘文件*/ printf("\n***********职员基础信息表*************\n"); //显示职员信息 printf("编号\t名称\t性别\t年纪\t备注\n"); for(i=0;stu[i].age!=-1&&i<N;i++) { printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark); } } void search()//根据职员名称进行查询 { int a,i,g,e; char d,r[20],c[20]; FILE *fp; if((fp=fopen("worker-massge","rb"))==NULL)//判定文件打开是否成功 { printf("文件打开失败"); return; } for(i=0;i<N;i++) fread(&stu[i],sizeof(struct worker),1,fp); /*读磁盘文件*/ fclose(fp); while(g) { printf("***********请选择查询方法***************\n"); printf(" 1,姓名 2,序号 3,性别 4,年纪\n "); printf("****************************************\n"); scanf("%d",&a); switch(a) { case 1:printf("请输入姓名:"); scanf("%s",r); printf("姓名 序号 性别 年纪 备注 \n "); for(i=0;i<N;i++) { if(strcmp(stu[i].name,r)==0) printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark); } break; case 2:printf("请输序号:"); scanf("%s",&c); printf("姓名 序号 性别 年纪 备注 \n "); for(i=0;i<N;i++) { if(strcmp(c,stu[i].num)==0) printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark); } break; case 3:printf("请输性别:"); getchar(); scanf("%c",&d); printf("姓名 序号 性别 年纪 备注 \n "); for(i=0;i<N;i++) { if(stu[i].sex==d) printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark); } break; case 4:printf("请输年纪:"); scanf("%d",&e); printf("姓名 序号 性别 年纪 备注 \n "); for(i=0;i<10;i++) { if(stu[i].age==e) printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark); } break; default :printf("错误"); break; } printf("-----__是否继续查询(是按1/否按0):"); scanf("%d",&g); } } void change(int k)//修改职员信息 { int i; FILE *fp; char listname[20]; char password[10]; do{ printf("请输入修改密码\n"); scanf("%s",password); if((strcmp(password,"0819")!=0)) { printf("密码错误,不能修改\n"); continue; } break; } while(1); printf("密码正确,能够修改\n"); if((fp=fopen("worker-massge","rb"))==NULL) { printf("文件打开失败"); return ; } for(i=0;i<k;i++) fread(&stu[i],sizeof(struct worker),1,fp); /*读磁盘文件*/ printf("\n\n-----------------职员信息表------------------\n\n"); printf("编号\t姓名\t性别\t年纪\t备注\n"); for(i=0;i<k;i++) { printf("%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark); } printf("请输入要更改职员编号:"); scanf("%s",listname); for(i=0;i<k;i++) { if(strcmp(listname,stu[i].num)==0) break; } if(i<k) //修改职员信息 { printf("\n请修改职员信息:\n"); printf("职员编号: "); scanf("%s",stu[i].num); printf("职员姓名: "); scanf("%s",stu[i].name); fflush(stdin); printf("职员性别: "); scanf("%c",&stu[i].sex); printf("职员年纪: "); scanf("%d",&stu[i].age); printf("职员备注: "); scanf("%s",&stu[i].remark); } else { printf("对不起,你请输入职员编号是错误或没有此编号"); return ; } // if((fp=fopen("worker-massge","wb"))==NULL) { printf("文件打开失败"); exit(0); } for(i=0;i<k;i++) //往文件里写修改数据 { if(fwrite(&stu[i],sizeof(struct worker),1,fp)!=1) printf("file writer error\n"); } fclose(fp); } int del() //职员信息删除 { int i,j,k=0; FILE *fp; char listname[20]; printf("请输入要删除职员编号:"); scanf("%s",listname); if((fp=fopen("worker-massge","rb"))==NULL) { printf("文件打开失败"); return 0; ; } for(i=0;i<N;i++) fread(&stu[i],sizeof(struct worker),1,fp); /*读磁盘文件*/ fclose(fp); for(i=0;i<N;i++) { if(strcmp(listname,stu[i].num)==0) { k=1; break; } } if(k==1) //修改职员信息 { for(j=i;j<N-1;j++) { stu[j]=stu[j+1]; } } else { printf("对不起,你请输入职员编号是错误或没有此编号"); return 0; } strcpy(stu[j].num,"000"); stu[j].age=-1; //往文件里写 if((fp=fopen("worker-massge","wb"))==NULL) { printf("文件打开失败"); return 0; } for(i=0;i<N-1;i++) //往文件里写修改数据 { if(fwrite(&stu[i],sizeof(struct worker),1,fp)!=1) printf("file writer error\n"); } fclose(fp); return N-1; } void save(int j) //保留职员信息 { FILE *fp; int i; if((fp=fopen("worker-massge","wb"))==NULL) { printf("文件打开失败"); exit(0); } for(i=0;i<j;i++) { if(fwrite(&stu[i],sizeof(struct worker),1,fp)!=1) printf("file writer error\n"); } printf("保留成功\n"); fclose(fp); } void main() { char choice; //输入数值,确定选项. char password[10]; do { printf("请输入进入人事档案管理系统密码\n"); scanf("%s",password); if((strcmp(password,"0819")!=0)) { printf("密码错误,不能进入主界面\n"); continue; } break; } while (1); { printf("密码正确,能够进入人事档案管理系统\n"); } while(choice!=0) { printf("********************人事档案管理系统*********************\n"); printf(" 1.输入职员基础信息 & 2.显示职员基础信息 \n"); printf(" 3.保留职员基础信息 & 4.删除职员基础信息 \n"); printf(" 5.修改职员基础信息(要输入密码) & 6.查询职员基础信息 \n"); printf(" 0.退出系统 \n"); printf("*********************************************************\n"); printf("请选择以上目录(0-6)\n"); scanf("%d",&choice); switch (choice) { case 1:input();//输入职员信息 break; case 2:show(N);//显示职员信息 break; case 3:save(N); //保留职员信息 break; case 4:del();//删除职员信息 break; case 6:search();//查询职员 break; case 5:change(N);//修改改职员信息 break; } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服