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

📄 企业职工管理系统.txt

📁 企业职工管理系统.rar
💻 TXT
📖 第 1 页 / 共 2 页
字号:

 


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>


#define N 100


struct employee//职工基本情况
{
 int num;//工号
 int position;//职位1为董事长2为总经理3为副总经理等
 char name[8];//姓名
 char sex[2];//性别f为女m为男
 int age;//年龄
 int cult;//文化程度1为专家2为博士3为硕士4为学士5为其他
 int salary;//工资
 int state;//健康情况分为good,general,bad
}em[N];


struct communication//职工通讯录
{
 char name[8];
 char officetel[13];
 char hometel[13];
 char handtel[13];
 char address[13];
}empc[N];


struct empsalary//职工工资与姓名的文件
{
 char name[8];
 int salary;
}emps[N];


void manage();
void query();
void communicate();
void input();
void display();
void change();
void del();
void add();
void count();
int changeposition();
int changecult();
int changesalary();
int changestate();
void querysalary();
void creat();
void inputcommunicate();
void querycommunicate();
void changecommunicate();
void changetel1();
void changetel2();
void changetel3();

 


   

 


char password[7]="123456";


void main()
{
 int choice;
 char s[7];
 int flag=0;
 int n=3;
 do
 {
  printf("请你输入密码:\n");
  scanf("%s",s);
  if(!strcmp(s,password))//若密码正确
  {
   printf("恭喜你成功登陆了\n\n\n");
   flag=1;
  
   break;
  }
  else 
  {
   printf("输入有错误请重新输入:\n");
   n--;
  }
 }while(n>0);

 if(!flag)
 {
  printf("你的输入次数已到再见\n");
 }
 do
 {
  printf("~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n");
  printf("\t\t欢迎进入职工管理系统中文版\n");
  printf("制作人:李华诗\t班级:计034班\t学号:2003041150\n");
  printf("联系地址:广西工学院\n");
  printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
  printf("\t\t请你选择操作类型:\n");
  printf("==============\t\t==============\n");
  printf("\t\t1进入管理系统\n");
  printf("\t\t2进入查询系统\n");
  printf("\t\t3进入通讯录\n");
  printf("\t\t0退出系统\n");
  printf("==============\t\t==============\n");
  printf("说明:版权归作者所有违者必究\n\n\n\n");
  scanf("%d",&choice);
  switch(choice)
  {
  case 1:
      manage();
   break;
  case 2:
      query();
   break;
  case 3:
   communicate();
   break;
  case 0:
   {
    printf("谢谢使用再见\n");
     exit(0);
   }
  default:
   {
       printf("输入有错误请重新输入:\n");
    return;
   }
  }
 }while(1);
}

 

 

void manage()
{
 int choicemanage;
 char choice='y';
 while(choice=='y'||choice=='Y')
 {
  printf("\t\t欢迎进入管理系统\n");
  printf("===================\n");
  printf("\t\t请你选择操作类型:\n");
  printf("\t\t1输入职工信息\n");
  printf("\t\t2显示职工信息\n");
  printf("\t\t3修改职工信息\n");
  printf("\t\t4追加一个职工信息\n");
  printf("\t\t5删除一个职工信息\n");
  printf("\t\t6统计职工信息\n");
  printf("\t\t0返回\n");
  printf("=====================\n");
  scanf("%d",&choicemanage);
  switch(choicemanage)
  {
  case 1:
   input();//输入职工信息
   break;
  case 2:
   display();//显示职工信息
   break;
  case 3:
   change();//修改职工信息
   break;
  case 4:
   add();//追加一个职工信息
   break;
  case 5:
   del();//删除一个职工信息
   break;
  case 6:
   count();//统计职工信息
   break;
  case 0:
   printf("谢谢你的使用再见\n");
   return;
  default:
   printf("你的输入有错请重新输入\n");
  }
  printf("是否继续管理?(y/n)");
  scanf("%s",&choice);
 }
 if(toupper(choice)=='N'||(choice)=='n')
 {
     printf("输入完毕,任意键返回\n");
     getch();
     return;
 }
       
 
}


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("第%d个职工\n",i);
  printf("\n");
  printf("请你输入工号:\n");//输入工号
  scanf("%d",&em[i].num);
  printf("\n");
  printf("请你输入职位:\n");//输入职位
  printf("1为董事长2为总经理3为副总经理\n");
  printf("4为经理5为副经理6为秘书\n");
  printf("7为技术员8为领班9为员工\n");

  scanf("%d",&em[i].position);
  printf("\n");
  printf("请你输入姓名:\n");//输入姓名
  scanf("%s",em[i].name);
  printf("\n");
  printf("请你输入性别以m为男f为女:\n");//输入性别
  scanf("%s",em[i].sex);
  printf("\n");
  printf("请你输入文化程度:\n");//输入文化程度
  printf("1为专家2为博士3为硕士4为学士5为其他\n");
  scanf("%d",&em[i].cult);
  printf("\n");
  printf("请你输入工资:\n");//输入工资
  scanf("%d",&em[i].salary);
  printf("\n");
  printf("请你输入身体情况:\n");//身体情况
  printf("1好2为一般3为差\n");
        scanf("%d",&em[i].state);
  printf("\n");
  printf("是否继续输入?(y/n)\n");
  scanf("%s",&choiceinput);
  fwrite(&em[i],sizeof(struct employee),1,fp);
 }
 if(toupper(choiceinput)=='N')
       {
  fclose(fp);
  printf("输入完毕,任意键返回\n");
  getch();
  return;
       }
}


void display()//显示职工信息
{
 FILE *fp;
 int i;
 if((fp=fopen("employee.txt","r"))==NULL)
  return;
 printf("输出结果:\n");
 printf("工号  职位  姓名  性别  文化程度  工资  身体情况\n");
 for(i=0;fread(&em[i],sizeof(struct employee),1,fp)!=0;i++)
 {
  printf("工号%d\n",em[i].num);
  printf("职位为%d\n",em[i].position);
  printf("1为董事长2为总经理3为副总经理\n");
  printf("4为经理5为副经理6为秘书\n");
  printf("7为技术员8为领班9为员工\n");
  printf("姓名为%s\n",em[i].name);
  printf("性别为%s\n",em[i].sex);
  printf("其中m为男f为女\n");
  printf("文化程度为%d\n",em[i].cult);
  printf("1为专家2为博士3为硕士4为学士5为其他\n");
  printf("工资为%d\n",em[i].salary);
  printf("身体情况为%d\n",em[i].state);
  printf("1好2为一般3为差\n");
 }
 printf("完毕按任意键返回\n");
 getch();
    fclose(fp);
    return;
}


void change()
{
 FILE *fp;
 int i;
 char chname[8];
 int choicechange;
 printf("请你输入要修改的人的姓名:\n");
 scanf("%s",&chname);
 if((fp=fopen("employee.txt","w+"))==NULL)
 {
  printf("不能够打开这个文件\n");
  return;
 }
 for(i=0;i<N;i++)
 {
  if(strcmp(chname,em[i].name)==0)
  {
   printf("这是你要修改的人的信息\n");
   printf("工号为%d职位为%d姓名为%s性别为%s文化程度为%d工资为%d身体为%d\n",em[i].num,em[i].position,em[i].name,em[i].sex,em[i].cult,em[i].salary,em[i].state);
   printf("------------------------------------------------------------\n");
   printf("请你输入要修改的部分:\n");
   printf("======================\n");
   printf("1修改职位\n");
   printf("2修改文化程度\n");
   printf("3修改工资\n");
   printf("4修改身体情况\n");
   printf("0退出系统\n");
   printf("======================\n");
   printf("请选择\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 4:
    em[i].state=changestate();
    break;
   case 0:
    return;
   default :
    printf("输入有错误");
   }
   fwrite(&em[i],sizeof(struct employee),1,fp);
  }
 } 
 fclose(fp);
 printf("操作完成按任意键返回\n");
 getch();
 return;
}


int changeposition()
{
 int newposition;
 printf("请你输入新职位:\n");
 printf("1为董事长2为总经理3为副总经理\n");
 printf("4为经理5为副经理6为秘书\n");
 printf("7为技术员8为领班9为员工\n");
 scanf("%d",&newposition);
 return(newposition);
}


int changecult()
{
 int newcult;
 printf("请你输入新的文凭:\n");
 printf("1为专家2为博士3为硕士4为学士5为其他\n");
 scanf("%d",&newcult);
 return(newcult);
}


int changesalary()
{
 int newsalary;
 printf("请你输入新的工资:\n");
 scanf("%d",&newsalary);
 return(newsalary);
}


int changestate()
{
 int newstate;
 printf("请你输入现在的身体情况:\n");
 printf("1好2为一般3为差\n");
 scanf("%d",&newstate);
 return(newstate);
}


void add()//追加一个职工信息
{
 struct employee emp;
 FILE *fp;
 int i=0;
 if((fp=fopen("employee.txt","ab+"))==NULL)
 {
  printf("不能够打开这个文件\n");
  getch();
  return;
 }
 printf("请你输入新人的内容:\n");
 printf("请你输入工号:\n");//输入工号
 scanf("%d",&emp.num);
 printf("请你输入职位:\n");//输入职位
 printf("1为董事长2为总经理3为副总经理\n");
 printf("4为经理5为副经理6为秘书\n");
 printf("7为技术员8为领班9为员工\n");
 scanf("%d",&emp.position);
 printf("请你输入姓名:\n");//输入姓名
 scanf("%s",emp.name);
 printf("请你输入性别以m为男f为女:\n");//输入性别
 scanf("%s",emp.sex);
 printf("请你输入文化程度:\n");//输入文化程度
 printf("1为专家2为博士3为硕士4为学士5为其他\n");
 scanf("%d",&emp.cult);
 printf("请你输入工资:\n");//输入工资
 scanf("%d",&emp.salary);
 printf("请你输入身体情况:\n");//身体情况
 printf("1好2为一般3为差\n");
    scanf("%d",&emp.state);
 fwrite(&emp,sizeof(struct employee),1,fp);
 rewind(fp);
 printf("插入完毕,按任意键返回\n");

⌨️ 快捷键说明

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