📄 职工信息管理系统.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 + -