📄 zg.c
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#define N 100
struct
{
int year;
int month;
}day;
struct employee
{
int num;
char name[8];
char sex[2];
struct
{
int year;
int month;
}day;
int cult;
int position;
int salary;
char tel[13];
char addr[13];
}em[N];
void input();
void display();
void del();
void change();
void query();
int changeposition();
int changecult();
int changesalary();
main()
{
while(1)
{
char ch;
clrscr();
gotoxy(1,1);
textcolor(YELLOW);
textbackground(BLUE);
window(1,1,99,99);
clrscr();
printf(" *************welcome to use employee manage******************\n");
printf(" *************************menu********************************\n");
printf(" * ========================================================= * \n");
printf(" * 1>input 2>display * \n");
printf(" * 3>del 4>change * \n");
printf(" * 5>query 6>add * \n");
printf(" * 7>exit * \n");
printf(" * * \n");
printf(" * --------------------------------------------------------- * \n");
printf(" Please input which you want(1-7):");
ch=getch();
switch(ch)
{
case '1':input();break;
case '2':display(); break;
case '3':del(); break;
case '4':change(); break;
case '5':query(); break;
case '6':add(); break;
case '7':exit(0);
default: continue;
}
}
}
/*...............................................................................*/
void input()
{
FILE *fp;
int i=0;
char choiceinput='y';
if((fp=fopen("employee.txt","w"))==NULL)
return;
while(choiceinput=='y'||choiceinput=='Y')
{
i++;
printf("The %d:\n",i);
printf("\n");
printf("please input num:\n");
scanf("%d",&em[i].num);
printf("\n");
printf("please input name:\n");
scanf("%s",em[i].name);
printf("\n");
printf("please input birthday:\n");
scanf("%4d%2d",em[i].day.year,em[i].day.month);
printf("\n");
printf("please input sex: m:nan f:nv \n");
scanf("%s",em[i].sex);
printf("\n");
printf("please input position:\n");
printf("1:dongshizhang 2:zongjingli 3:fuzongjingli \n");
printf("4:jingli 5:fujingli 6:mishu \n");
printf("7:jishuyuan 8:lingban 9:yuangong \n");
scanf("%d",&em[i].position);
printf("\n");
printf("please input clut:\n");
printf("1:zhuanjia 2:boshi 3:shuoshi 4:xueshi 5:qita \n");
scanf("%d",&em[i].cult);
printf("\n");
printf("please input salary:\n");
scanf("%d",&em[i].salary);
printf("\n");
printf("please input tel:");
scanf("%s",&em[i].tel);
printf("\n");
printf("please input addr:");
scanf("%s",&em[i].addr);
printf("\n\n");
printf("go on?(y/n)\n");
scanf("%s",&choiceinput);
fwrite(&em[i],sizeof(struct employee),1,fp);
}
if(toupper(choiceinput)=='N')
{
fclose(fp);
printf("Press any key.\n");
getch();
return;
}
}
/*....................................................................................*/
void display()
{
FILE *fp;
int i;
if((fp=fopen("employee.txt","r"))==NULL)
return;
printf("......................................\n");
printf("num name sex birthday clut position salary tel addr \n");
for(i=0;fread(&em[i],sizeof(struct employee),1,fp)!=0;i++)
{
printf("num:%d\n",em[i].num);
printf("name:%s\n",em[i].name);
printf("sex:%s\n",em[i].sex);
printf("m:nan f:nv \n");
printf("birthday:%d%d\n",em[i].day.year,em[i].day.month);
printf("position:%d\n",em[i].position);
printf("1:dongshizhang 2:zongjingli 3:fuzongjingli \n");
printf("4:jingli 5:fujingli 6:mishu \n");
printf("7:jishuyuan 8:lingban 9:yuangong \n");
printf("clut:%d\n",em[i].cult);
printf("1:zhuanjia 2:boshi 3:shuoshi 4:xueshi 5:qita \n");
printf("salary:%d\n",em[i].salary);
}
printf("Press any key.\n");
getch();
fclose(fp);
return;
}
/*.....................................................................................*/
void del()
{
int i=0;
char delname[8];
FILE *fp;
if((fp=fopen("employee.txt","w"))==NULL)
{
printf("unable to open\n");
printf("Press any key.\n");
getch();
return;
}
printf("please input the delname:\n");
scanf("%s",delname);
for(i=0;fread(&em[i],sizeof(struct employee),1,fp)!=0;i++)
{
if(strcmp(em[i].name,delname)!=0)
fwrite(&em[i],sizeof(struct employee),1,fp);
}
fclose(fp);
}
/*........................................................................................*/
void change()
{
FILE *fp;
int i;
char chname[8];
int choicechange;
printf("the name you want change :\n");
scanf("%s",&chname);
if((fp=fopen("employee.txt","w+"))==NULL)
{
printf("unable to open \n");
return;
}
for(i=0;i<N;i++)
{
if(strcmp(chname,em[i].name)==0)
{
printf("information of the em\n");
printf("num:%d name:%d sex:%s birthday:%d%d clut:%d position:%d salary:%d tel:%s addr:%s\n",em[i].num,em[i].position,em[i].name,em[i].sex,em[i].cult,em[i].salary);
printf("------------------------------------------------------------\n");
printf("The part that you want change:\n");
printf("======================\n");
printf("1:position\n");
printf("2:clut\n");
printf("3:salary\n");
printf("4:tel\n");
printf("5:addr\n");
printf("0:exit\n");
printf("======================\n");
printf("please choose\n");
scanf("%d",&choicechange);
switch(choicechange)
{
case 1:
em[i].position=changeposition();
break;
case 2:
em[i].cult=changecult();
break;
case 3:
em[i].salary=changesalary();
break;
case 0:
return;
default :
printf("input wrong");
}
fwrite(&em[i],sizeof(struct employee),1,fp);
}
}
fclose(fp);
printf("Press any key.\n");
getch();
return;
}
int changeposition()
{
int newposition;
printf("the new position:\n");
printf("1:dongshizhang 2:zongjingli 3:fuzongjingli \n");
printf("4:jingli 5:fujingli 6:mishu \n");
printf("7:jishuyuan 8:lingban 9:yuangong \n");
scanf("%d",&newposition);
return(newposition);
}
int changecult()
{
int newcult;
printf("the new cult:\n");
printf("1:zhuanjia 2:boshi 3:shuoshi 4:xueshi 5:qita \n");
scanf("%d",&newcult);
return(newcult);
}
int changesalary()
{
int newsalary;
printf("the new salary:\n");
scanf("%d",&newsalary);
return(newsalary);
}
/*........................................................................................*/
void query()
{
FILE *fp;
int i=0;
char quesalary[13];
if((fp=fopen("employee.txt","r"))==NULL)
{
printf("unable to open.Press any key.\n");
getch();
return;
}
printf("please input the salary you want query:\n");
scanf("%d",quesalary);
for(i=0;fread(&em[i],sizeof(struct employee),1,fp)!=0;i++)
{
if(strcmp(em[i].salary,quesalary)==0)
{
printf("\t\t\nthe information you need:\n");
printf("num%d",em[i].num);
printf("name:%s",em[i].name);
printf("sex:%s",em[i].sex);
printf("\t m:nan f:nv");
printf("birthday:%d%d",em[i].day.year,em[i].day.month);
printf("position:%d",em[i].position);
printf("1:dongshizhang 2:zongjingli 3:fuzongjingli \n");
printf("4:jingli 5:fujingli 6:mishu \n");
printf("7:jishuyuan 8:lingban 9:yuangong \n");
printf("clut:%d",em[i].cult);
printf("1:zhuanjia 2:boshi 3:shuoshi 4:xueshi 5:qita \n");
printf("tel:%s",em[i].tel);
printf("addr:%s",em[i].addr);
printf("\n");
printf("Press any key.\n");
getch();
fclose(fp);
return;
}
}
printf("not found.Press any key.\n");
getch();
fclose(fp);
return;
}
/*...................................................................................*/
add()
{
struct employee emp;
FILE *fp;
if((fp=fopen("employee.txt","ab+"))==NULL)
{
printf("unable to open\n");
getch();
return;
}
printf("the new information:\n");
printf("please input num:\n");
scanf("%d",&emp.num);
printf("please input name:\n");
scanf("%s",&emp.name);
printf("please input sex:m:nan f:nv \n");
scanf("%s",&emp.sex);
printf("please input birthday");
scanf("%d%d",&emp.day.year,&emp.day.month);
printf("please ionput cult:\n");
printf("1:zhuanjia 2:boshi 3:shuoshi 4:xueshi 5:qita \n");
scanf("%d",&emp.cult);
printf("please input position:\n");
printf("1:dongshizhang 2:zongjingli 3:fuzongjingli \n");
printf("4:jingli 5:fujingli 6:mishu \n");
printf("7:jishuyuan 8:lingban 9:yuangong \n");
scanf("%d",&emp.position);
printf("please input salary:\n");
scanf("%d",&emp.salary);
printf("please input tel");
scanf("%s",&emp.tel);
printf("please input addr");
scanf("%s",&emp.addr);
fwrite(&emp,sizeof(struct employee),1,fp);
rewind(fp);
printf("Press any key.\n");
getch();
fclose(fp);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -