⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 职工信息管理系统.c

📁 职工管理系统主要对企业职工的相关信息进行管理/查询等操作
💻 C
字号:
#include<stdio.h>
#include<process.h>
#include<string.h>
struct born
{
		int year;
		int mouth;
		int day;
	};
struct inf
{
	int num;
	char name[30];
	char sex[3];
    struct born bor;
	char degree[10];
	char position[10];
	int income;
	char address[20];
	int phone;
}inf;
void input()/*创建信息*/
{
FILE *fp;
if((fp=fopen("inf.txt","w"))==NULL){
        printf("can not open file inf.txt!\n");
}
printf("请输入职工号,姓名,性别(gg/mm),出生年月(yyyy-mm-d),学历,职务,工资,住址与电话:\n");
scanf("%d%s%s%d-%d-%d%s%s%d%s%d",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
while(inf.num!=0){
     fprintf(fp,"%d %s %s %d-%d-%d %s %s %d %s %d\n",inf.num,inf.name,inf.sex,inf.bor.year,inf.bor.mouth,inf.bor.day,inf.degree,inf.position,inf.income,inf.address,inf.phone);
	 scanf("%d",&inf.num);
	 if(inf.num==0)break;
	 scanf("%s%s%d-%d-%d%s%s%d%s%d\n",inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);}
if(fclose(fp)){
      printf("can't close file inf.txt!\n");
	  exit(0);}

}
void skip()/*浏览全部信息*/
{FILE *fp;
	fp=fopen("inf.txt","r");
while(!feof(fp)){
   fscanf(fp,"%d%s%s%d-%d-%d%s%s%d%s%d\n",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
    if(inf.num!=0)
      printf("%d %s %s %d-%d-%d %s %s %d %s %d\n",inf.num,inf.name,inf.sex,inf.bor.year,inf.bor.mouth,inf.bor.day,inf.degree,inf.position,inf.income,inf.address,inf.phone);
     else
          printf("没有你要找的信息!\n");
}fclose(fp);
}
void search1()/*按工资查询*/
{int pay,t;
FILE *fp;
void search();

printf("请输入工资:\n");
scanf("%d",&pay);
fp=fopen("inf.txt","r");
while(!feof(fp)){
       fscanf(fp,"%d%s%s%d-%d-%d%s%s%d%s%d\n",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
if(pay==inf.income)
       printf("%d %s %s %d-%d-%d %s %s %d %s %d\n",inf.num,inf.name,inf.sex,inf.bor.year,inf.bor.mouth,inf.bor.day,inf.degree,inf.position,inf.income,inf.address,inf.phone);}

printf("继续请输入1\n返回请输入0\n");
scanf("%d",&t);
switch(t){
case 1:search();break;
case 0:break;
default: break;} 

}
void search2()/*按学历查询*/
{char degree[10];
FILE *fp;int t;
void search();
printf(" 请输入学历:\n");
scanf("%s",degree);
fp=fopen("inf.txt","r");
while(!feof(fp)){
       fscanf(fp,"%d%s%s%d-%d-%d%s%s%d%s%d\n",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
if(strcmp(degree,inf.degree)==0)
       printf("%d %s %s %d-%d-%d %s %s %d %s %d\n",inf.num,inf.name,inf.sex,inf.bor.year,inf.bor.mouth,inf.bor.day,inf.degree,inf.position,inf.income,inf.address,inf.phone);
else 
  if(feof(fp))
       printf("对不起找不到你所要的信息!\n ");
}
fclose(fp);

printf("继续请输入1\n返回请输入0\n");
scanf("%d",&t);
switch(t){
case 1:search();break;
case 0:break;
default: break;} 

}
void search()/*查询*/
{int t;
printf("按工资查询请输入1\n按学历查询请输入2\n");
scanf("%d",&t);
switch(t){
case 1:search1();break;
case 2:search2();break;
default: break;}
}

void del()/*删除信息*/
{
FILE *fp,*fpp;
int hao,t;
printf("请输入要删除的职工号:\n");
scanf("%d",&hao);
fp=fopen("inf.txt","r");
fpp=fopen("inf2.txt","w");
while(!feof(fp)){
       fscanf(fp,"%d%s%s%d-%d-%d%s%s%d%s%d\n",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
	if(hao!=inf.num)
       fprintf(fpp,"%d %s %s %d-%d-%d %s %s %d %s %d\n",inf.num,inf.name,inf.sex,inf.bor.year,inf.bor.mouth,inf.bor.day,inf.degree,inf.position,inf.income,inf.address,inf.phone);
}
printf("删除成功!\n");
fclose(fp);
fclose(fpp);
fp=fopen("inf.txt","w");
fpp=fopen("inf2.txt","r");
inf.num=0;
while(!feof(fpp))
{
  fscanf(fpp,"%d%s%s%d-%d-%d%s%s%d%s%d\n",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
  if(inf.num!=0)
      fprintf(fp,"%d %s %s %d-%d-%d %s %s %d %s %d\n",inf.num,inf.name,inf.sex,inf.bor.year,inf.bor.mouth,inf.bor.day,inf.degree,inf.position,inf.income,inf.address,inf.phone);

}

fclose(fp);
fclose(fpp);remove("inf2.txt");

printf("继续请输入1\n返回请输入0\n");
scanf("%d",&t);
switch(t){
case 1:del();break;
case 0:break;
default: break;} 
}



void correct()/*修改信息*/
{FILE *fp,*fpt;
int hao,t;
printf("请输入要修改的职工号:\n");
scanf("%d",&hao);
fp=fopen("inf.txt","r");
fpt=fopen("temp.txt","w");

	while(!feof(fp))
	{
		fscanf(fp,"%d%s%s%d-%d-%d%s%s%d%s%d\n",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
		if(hao==inf.num)
		{
			printf("请输入新的的员工信息:\n");
			printf("职工号、姓名、性别(gg/mm)、出生年月(yyyy-mm-dd)、学历、职务、工资、地址与电话\n");
			scanf("%d%s%s%d-%d-%d%s%s%d%s%d",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
		    printf("修改成功!\n");
		}
		fprintf(fpt,"%d %s %s %d-%d-%d %s %s %d %s %d\n",inf.num,inf.name,inf.sex,inf.bor.year,inf.bor.mouth,inf.bor.day,inf.degree,inf.position,inf.income,inf.address,inf.phone);
	}
	fclose(fp);
	fclose(fpt);
	fp=fopen("inf.txt","w");
	fpt=fopen("temp.txt","r");
	while(!feof(fpt))
	{
		fscanf(fpt,"%d%s%s%d-%d-%d%s%s%d%s%d\n",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
		fprintf(fp,"%d %s %s %d-%d-%d %s %s %d %s %d\n",inf.num,inf.name,inf.sex,inf.bor.year,inf.bor.mouth,inf.bor.day,inf.degree,inf.position,inf.income,inf.address,inf.phone);
	}
	fclose(fp);
	fclose(fpt);
	remove("temp.txt");

printf("继续请输入1\n返回请输入0\n");
scanf("%d",&t);
switch(t){
case 1:correct();break;
case 0:break;
default: break;} 

}
void del_cor()/*删除、修改信息*/
{int t;
printf("删除信息请输入1\n修改信息请输入2\n");
scanf("%d",&t);
switch(t){
case 1:del();break;
case 2:correct();break;
default: break;}
}
void add()/*添加的职工信息*/
{FILE *fp;
fp=fopen("inf.txt","a");
printf("请输入要添加的职工信息:\n");
printf("职工号,姓名,性别(gg/mm),出生年月(yyyy-mm-d),学历,职务,工资,住址与电话:\n");
scanf("%d%s%s%d-%d-%d%s%s%d%s%d",&inf.num,inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
while(inf.num!=0){
     fprintf(fp,"%d %s %s %d-%d-%d %s %s %d %s %d\n",inf.num,inf.name,inf.sex,inf.bor.year,inf.bor.mouth,inf.bor.day,inf.degree,inf.position,inf.income,inf.address,inf.phone);
	 scanf("%d",&inf.num);
	 if(inf.num==0)break;
	 scanf("%s%s%d-%d-%d%s%s%d%s%d\n",inf.name,inf.sex,&inf.bor.year,&inf.bor.mouth,&inf.bor.day,inf.degree,inf.position,&inf.income,inf.address,&inf.phone);
}
fclose(fp);
}
void lulu()
{int t;
printf("职工信息录入会删掉原有信息,如果是请输入1\n如果是想添加信息请输入2\n返回请输入0\n");
scanf("%d",&t);
switch(t){
case 1:input();break;
case 2:add();break;
case 0:break;
default: break;}
}
main()
{
int i;
do{printf("欢迎进入职工信息管理系统:\n职工信息录入请输入1\n信息浏览请输入2\n按工资、学历查询请输入3\n信息删除、修改请输入4\n添加职工信息请输入5\n返回请输入0\n");
scanf("%d",&i);
switch(i){
case 1:lulu();break;
case 2:skip();break;
case 3:search();break;
case 4:del_cor();break;
case 5:add();break;
default: break;
}
}while(i!=0);
}


/*void go_on()
{void del_cor()
	int t;
printf("继续请输入1\n返回上层请输入2\n退出请输入0\n");
scanf("%d",&t);
switch(t){
case 1:del();break;
case 2:del_cor();break;
case 3:break;}
}*/











⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -