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

📄 cxiangmu.cpp

📁 这是一个员工管理系统
💻 CPP
字号:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include"string.h"
#define N 20

void pass();
void face();
void luru();
void xiugai();
void charu();
void shanchu();
int serch();
void chaxun();
void yuangongpaixu();
int serch( char b[20]);
void bumenzhigong();
void gongsi();
void salary();






void pass()
{
   char username[20]= "luzude"  ,pass[20]="luzude";
   char getname[20],getpass[20];
   do
   {
		   printf(" \n\n\n\n                    请你输入用户名(本人姓名的汉语拼音):");
		   scanf("%s",&getname);
            if(strcmp(getname,username)==0)
			{
			  printf("                    请 你 输 入 密 码    (同 用 户 名):");
			  for(int i=0;i<6;i++)
              { 
			    getpass[i]=getch();
				if(getpass[i]=='\n') break;
			     printf("*");
			  }
              getpass[i]='\0';
			  if(strcmp(getpass,pass)==0)
			  {
			    fflush(stdin);getch();
			    break;
			  }
              else
			  {
			   printf("\n                    密码错误,按任意键进入.\n");
			   fflush(stdin);getch();
			  }

			}
             else
             {
			 printf("  \n                    笨  蛋 ! 用  户  名  有  误.");
                fflush(stdin);getch();
			 }

      
		} while(1);
            		  		   
}

struct G
{
  int num;//工号
  char name[20];
  char sex[4];
	  struct date
	  {
	   int year;
	   int month;
	   int day;
	  }birth;
  int m;  //工资
  char p[20];  //部门
} g[N+7]={
	{1009,"卢祖德","男",1987,9,22,8000,"行政部"},
	{1008,"罗文",  "男",1988,5,24,5000,"人事部"},
	{1007,"张鹏",  "男",1989,6,26,5000,"财务部"},
	{1006,"王炜",  "男",1987,1,26,5000,"秘书部"},
    {1005,"秦诺",  "男",1988,2,23,6000,"秘书部"},
    {1004,"钱帆",  "男",1988,5, 2,5000,"秘书部"},
    {1003,"胡广",  "男",1988,2,28,6000,"体育部"},
};
struct G t[8];

void main()
{    
	system("color 3e");
	printf("\n\n");
	 printf("\n        ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆\n");
	 printf("\n        ☆                欢迎进入:东方通力科技有限责任公司         ☆\n");
     printf("\n        ☆                作    者:卢 祖 德                        ☆\n");
     printf("\n        ☆                创作时间:2008年4月20日                   ☆\n");
	 printf("\n        ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆  ☆");
    printf("\n\n\n\n");
	 for(int i=0;i<39;i++)
	 {
	  printf("%c ",3);
	 }
     printf("\r");
     for(int k=0;k<79;k++)
	 {
	  for(int j=0;j<10000000;j++)
	  {
        ;
	  }
	  printf("<");
	 }
	 pass();
     printf("\n\n\n\n               ☆☆☆☆☆☆☆请按任意键进入主菜单!☆☆☆☆☆☆☆");
     getchar();

    face();   //调用face()函数

}

void face()
{      
   do
   {
    system("cls");
    printf("\n\n\n                     %c %c %c %c 职工信息管理系统菜单 %c %c %c %c\n\n\n",2,2,2,2,2,2,2,2);
    printf("        %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c",3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3);
    printf(" \n\n                      1. 重  新  录  入  新  员  工   ");
    printf(" \n\n                      2. 修  改  某  个  员  工");
	printf(" \n\n                      3. 插  入  新  的  员  工   ");
	printf(" \n\n                      4. 删  除  某  个  员  工");
	printf(" \n\n                      5. 查  询  某  个  员  工");
	printf(" \n\n                      6. 按  照 工 号 对 员 信 息 进 行 排 序");
	printf(" \n\n                      7. 查  看  某  部  门  全  体  成  员");
	printf(" \n\n                      8. 查 看 本 公 司 全 体 员 工  ");
	printf(" \n\n                      9. 查 看 本 公 司 应 支 付 员 工 工 资 总 额");
	printf(" \n\n                      0. 退    出    系    统\n");
    printf("\n        %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c ",
		3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3);
    int st;
    printf("\n\n\n        请你选择您要进入的编号:");
	fflush(stdin);
     scanf("%d",&st);
	 if(st==0) break;
     switch (st)
	 {
	
	 case 1 :system("cls"); luru();break;
	 case 2 :system("cls"); xiugai();break;
	 case 3 :system("cls"); charu();break;
	 case 4 :system("cls"); shanchu();break;
	 case 5 :system("cls"); chaxun(); break;
	 case 6 :system("cls"); yuangongpaixu();  break;
     case 7 :system("cls"); bumenzhigong();break;
   	 case 8 :system("cls"); gongsi();face(); break;
	 case 9 :system("cls"); salary(); face(); break;
	 case 0 : break;
     default : printf(" \n    对不起,你输入的编号有误!请在0到9之间选择!\n");
	getch();	  break;
		  
	 }
   getchar();
   } while(1);
}
void luru()           // 录 入 新 员工
{ 
	char n;
printf("您好!请您输入录入员工的人数:");
scanf("%d",&n);
	for(int i=0;i<7;i++)
	{	 
    printf("      %d\t",g[i].num);   
    printf("    %s\t",g[i].name);    
	printf("    %s\t",g[i].sex);  
	printf("    %d %d %2d\t",g[i].birth.year,g[i].birth.month,g[i].birth.day);   
    printf("    %d",g[i].m);
	printf("    %s\t",g[i].p);    
	printf("\n");
	}
	for(i=0;i<n;i++)
	{
	printf("NUM%d\n",i+1); 
    printf("请你输入工号:");
    scanf("%d",&g[i].num);
    printf("请你输入姓名:");
    scanf("%s",&g[i].name);
	printf("请你输入性别:");
    scanf("%s",&g[i].sex);
	printf("请你输入生日:");
    scanf("%d %d %2d",&g[i].birth.year,&g[i].birth.month,&g[i].birth.day);
    printf("请你输入工资:");
    scanf("%d",&g[i].m);
	printf("请你输入部门:");
    scanf("%s",&g[i].p);
	printf("\n");
	}
}
void xiugai()
{
	int c,a;
 
  
		a=serch();        
		  if(a==-1)
		  {
		   printf("对不起,没有找到你要查询的结果!\n");
		  }
		  else
		  { 
  		  printf("\n\n                              你要修改信息是:\n\n");
		  printf("                工号    姓名    性别    出生日期    工资    部门\n");
		  printf("                %d    %s  %s ",g[a].num,g[a].name,g[a].sex);
		  printf("      %d %d %d   %d  %s\n",g[a].birth.year,g[a].birth.month,g[a].birth.day,g[a].m,g[a].p);
		  printf("\n\n修改请按(1)yes,不修改请按(2)no");
		  printf("你要选择的是:");
           scanf("%d",&c);
 	     if(c==1)
		 {
		  printf("请输入新的信息:\n");
		  printf("工号    姓名    性别    出生日期    工资    部门\n");		  
		scanf("%d",&g[a].num);
		scanf("   %s",&g[a].name);
		scanf("%s",&g[a].sex);
		scanf("%d %d %2d",&g[a].birth.year,&g[a].birth.month,&g[a].birth.day);
		scanf("%d",&g[a].m);
		scanf("%s",&g[a].p);
		printf("ok");
	     printf("\n");
			 
		 }	
		 else
		 {
		printf("\n\n请按任意键重新输入.");					
	    getch();
		 }
	 }
  getch();   

}
void charu()
{    int a; 	
   do
	{
	int i=0,n=-1,num;
  	printf("\n\n\n        <<<<<<    欢迎进入<<插 入 某 个 员 工 信 息>>系统页面!!    >>>>>>\n\n\n"); 
    printf("请输入员工工号:");
    scanf("%d",&num);
	while(i<N+7)
	{
	   if(g[i].num==num)
	   {
	       n=i;break;
	   }
	   i++;
	}
    if(n==-1)//没有相同的,就找到有空的位置放置员工信息
	{
	   i=0;
	   while(g[i].num!=0)   
	   {
	      i++;
	   }
	     g[i].num=num;
	     printf("请输入员工姓名:");
		 scanf("%s",&g[i].name);
		 printf("请输入员工的性别:");
		 fflush(stdin);
		 scanf("  %c",&g[i].sex);
		 printf("请输入员工的出生年月日:");
		 scanf("%d%d%2d",&g[i].birth.year,&g[i].birth.month,&g[i].birth.day);
		 printf("请输入员工的月工资:");
		 fflush(stdin);
		 scanf("%d",&g[i].m);
		 printf("请输入员工的所在部门:");       
		 scanf("%s",&g[i].p);
	}
	else//已经存在相同的工号,就提示!
	{   
	   printf("对不起!你插入的这个工号已存在。\n");
	}
  printf("要继续插入吗?继续请按1 or 否按0  \n");    //要继续插入吗?
  scanf("%d",&a);
    system("cls");
	}while(a);	
}
void shanchu()
{
    	int c,d,a;
		printf("查找你要删除的人:\n");
	 	a=serch(); 	
		  if(a==-1)
		  {
		   printf("对不起,没有找到你要查询的结果!\n");
		  }
		  else
		  {
  		  printf("你要删除的人是:\n");
		  printf("工号    姓名    性别    出生日期    工资    部门\n");
		  printf("%d     %s    %s ",g[a].num,g[a].name,g[a].sex);
		  printf("    %d %02d %02d    %d  %s\n",g[a].birth.year,g[a].birth.month,g[a].birth.day,g[a].m,g[a].p);
		  printf("删除请按(1)yes,不删除请按(2)no");
		  printf("你要选择的是:");
           scanf("%d",&c);
 	     if(c==1)
		 {
		  for(d=a;d<N+6;d++)
		  {
		   g[d]=g[d+1];		  		  
		  }
		 }	
		 else
		 {
		  printf("\n\n请按任意键重新输入.");					
	      getch();
		 }
	 }

  getch();   
}
int serch()
{
     int i=0,n,k;
	 char m[10];
	 printf("\n\n                        按工号查询请按1,按姓名查询请按2:");
	 scanf("%d",&k);
	 switch(k)                                                                                                                                                                                                                                                                                                            
	 {
	 case 1 : printf("请输入工号:");
		      scanf("%d",&n);
		 while(i<N+7)
			 {
			  if(g[i].num==n && g[i].num!=0)            
			  return i;
			  i++;
			 }return -1;break;
	 case 2 :printf("请输入姓名:");
		 scanf("%s",&m);
		 while(i<N+7)			 
			 {
				  if(strcmp(g[i].name,m)==0)
				  {
				    return i;
				  }
			  i++;
			 }return -1;break;
	 default: return -1; 
	 }
}
void chaxun()//查询某员工的信息
{ 
	int n,a,m;
    char x[20];
    printf("\n           *****************欢迎进入查询员工信息系统****************\n");   		  
		      a=serch();        
		  if(a==-1)
		  {
		   printf("\n对不起,没有找到你要查询的结果!重新开始,按'Enter'键返回.\n");		   
           getchar();
		  }
		  else
		  {
  		  printf("你查询的结果是:\n");
		   printf("\n\n       工号    姓名    性别    出生日期    工资    部门\n");
		  printf("       %d    %s  %s ",g[a].num,g[a].name,g[a].sex);
		  printf("     %d %02d %02d   %d  %s\n",g[a].birth.year,g[a].birth.month,g[a].birth.day,g[a].m,g[a].p);
		  }
		  getch();   
  }
 

void yuangongpaixu()
{  int i,j,k;
  struct G temp;
 for( i=0;i<N+7;i++)
 {
  for( j=0;j<N+6;j++)
  {
    if(g[j].num>g[j+1].num)
	{
    temp=g[j+1];	
    g[j+1]=g[j];
    g[j]=temp;
	}
  }
}
 printf(" \n\n         ☆☆☆☆☆☆☆☆   排 序 后 的 结 果 如 下:   ☆☆☆☆☆☆☆☆\n\n\n");
  printf("               工号    姓名    性别      出生日期   工资   部门\n\n");		  
for( k=0;k<N+7;k++)
{ 
	if(g[k].num!=0)
	{
	printf("               %d    %6s   %s   ",g[k].num,g[k].name,g[k].sex);
	printf("   %d %02d %02d  %d  %s\n\n",g[k].birth.year,g[k].birth.month,g[k].birth.day,g[k].m,g[k].p); 
	}
	
} 
getch();
}
 
void bumenzhigong()
{             
	   char b[20];
	   int a=-1;
	 printf("\n\n                       请输入你要查询的部门:");
     scanf("%s",&b);
       
	 printf("\n\n你查询的结果是:\n\n\n");
	  printf("               工号    姓名    性别    出生日期    工资    部门\n\n");
	    for(int i=0;i<N+7;i++)
		{	         	 	        
		 if(strcmp(g[i].p,b)==0)
		 { 
			a=1;				
			printf("                %d   %s   %s   ",g[i].num,g[i].name,g[i].sex);
			printf("%d %02d %02d   %d   %s\n\n",g[i].birth.year,g[i].birth.month,g[i].birth.day,g[i].m,g[i].p); 
		 }				
		}
		if(a!=1)
     	{
		 printf("\n\n对不起,没有你要找的部门,请按任意键重新输入.");			
		}		
    getch();
}
			
				

void gongsi()
{     
	printf("\n\n         ☆☆☆☆☆☆<<<<<<  以下是全体工司职工的信息  >>>>>>☆☆☆☆☆☆ ");
	 printf("\n\n\n\n                工号    姓名    性别    出生日期     工资    部门 \n\n\n");		 
for(int k=0;k<N+7;k++)
{
	if(g[k].num!=0)
	{
	printf("                %d    %6s   %s   ",g[k].num,g[k].name,g[k].sex);
	printf(" %d %02d %02d   %d    %s\n\n",g[k].birth.year,g[k].birth.month,g[k].birth.day,g[k].m,g[k].p); 
	}
}
getch();
}

void  salary()
{
  int sum=0;
 for(int i=0;i<N+7;i++)
 {
  sum=sum+g[i].m;
 }
 printf("\n           ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");
printf(" \n                         本公司该月应支付总额为:%d",sum);
getch();

}

⌨️ 快捷键说明

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