精华内容
下载资源
问答
  • php企业员工信息管理系统
    千次阅读
    2021-03-23 20:44:32

    通过分析企业员工信息管理的内容及特点,提出了企业员工信息管理系统的解决方案。系统基于B/S模式,采用php,mysql,Dreamweaver作为主要开发工具进行开发。系统由员工信息上传模块、员工信息查询模块、员工信息删除模块、员工信息添加模块、员工信息分类模块、MD5加密模块等组成。

    文章以需求分析、总体规划、模块划分、数据库设计与实现功能等为主线,详细介绍了基于B/S结构的企业员工信息管理系统。首先,根据企业员工信息管理的内容及用户特点对系统作了需求分析,其次,根据系统的实现功能和适用环境对系统作了总体规划,最后完成了模块的划分和数据库的设计与实现,并对系统进行了测试。

    本企业员工管理系统大致分为六个部分:

    (1)管理员模块

    本程序设若干主控管理员,根据需要可修改用户密码,也可添加用户,  可添加任意多个操作员,可修改用户密码。

    (2)员工管理模块

    本程序可以浏览员工信息,;有查询功能,可以按姓名、部门等查询条件查找员工。当员工的个人情况发生变化需要修改时,可以方便地修改个人资料。

    (3)员工信息添加模块

    添加新的员工信息,并可以设置权限。(由管理员来添加新的员工)

    (4)员工信息查询模块

    在员工信息管理模块中,用户根据需要,可根据已有选项查询各种条件的员工。

    (5)员工信息删除模块

    删除不需要的员工信息。

    (6)员工信息修改模块

    有修改员工的个人信息和登陆密码等功能 。

    根据管理系统的功能结构划分,我将本管理系统的功能结构说明划分为两方面进行,即管理员用户管理模块和普通用户管理模块。这样的划分是基于由于权限不同而带来的功能的不同而来的,两个功能模块功能各异,在本系统中扮演着两个最重要的角色,二者功能相对独立但有彼此有紧密的联系,所以将系统功能划分为此两部分来阐述将有助于目标人群的理解和使用。

    (1)  管理员用户管理模块

    从系统登陆界面后,当输入正确的管理员用户信息后,系统便进入了管理员用户的管理模块中。超级用户管理模块包括了账户管理,权限设置,添加删除用户,高级查询这几个模块。

    在管理模块中,管理员用户可以利用自己的权限查看员工的所有信息,包括姓名、电话,家庭地址,部门,生日,QQ等。在账户管理模块中,我将超级用户设计为了最高权限,对于账户的管理中,包括了对于用户的添加和删除,而对于用户的添加这个模块内,包括了对普通用户和超级用户的添加。特别的,考虑到在企业中有可能有其他管理人员的存在,所以在设定个人信息的时候可以给员工设定一定的权限。

    (2)普通员工管理模块

    从系统登陆界面选择用户登录框后,当输入正确的普通员工信息后,系统便进入了普通员工的管理模块中。普通用户管理模块包括了个人帐户管理,查看资料,查询信息,等几个模块。

    普通用户登陆系统后,能够按照多种查询方式查看员工资料和更改个人资料,方便员工的操作,也为管理员用户节省了大量的时间。

    以上是大纲或介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:58850198咨询

    更多相关内容
  • 一个简单Java实现的员工信息管理系统,功能还是比较丰富的,作为毕业设计或者课程设计绰绰有余,直接导入可以运行。
  • Java web简单员工信息管理系统

    热门讨论 2014-03-19 14:42:23
    Java web初学的简单员工信息管理系统
  • 企业员工信息管理系统的开发主要包括后台数据库的建立(如:员工的基本信息)和维护(如员工信息的添加和删除以及登陆密码的修改)及前端应用的开发,对于前者要求建立起数据库一致性和完整性、数据安全性好的数据库,...
  • C语言员工信息管理系统源代码

    千次阅读 2020-12-23 16:05:39
    分享:C语言学生成绩管理系统设计《C语言程序设计》实训报告 扫描下方公众号,发送成绩系统4个字,获取下载实训源码。 ... ...回复系统大全,即可获得关于...今天分享:C语言员工信息管理系统源代码 /************...

    最近咨询这方面源码的朋友比较多,所以扒一扒以前的网盘,发现了好多之前攒的源码,分享给大家。

    扫描上方二维码,回复 999 直接获取作者之前收藏的学习资源,谢谢网友们的分享。

    更多管理系统更新中,请注意关注!

    今天分享: C语言员工信息管理系统源代码

    /*******************************************************************************
    *   文件名:UI.Cpp															   *
    *                                                                              *
    *   文件功能: 该文件主要是定义(实现)和用户操作有关的一些函数,之所以把和用户 *
    *   操作有关的函数单独放到ui.c中,是为了使程序结构更加清晰,源代码更           *
    *	容易管理,这也是遵循结构化程序设计的要求(模块化、层次化)				   *
    *																			   *
    *   作者:                                                                      *
    *                                                                              *
    *******************************************************************************/
    
    #include  <stdio.h>
    #include	<stdlib.h>
    #include  <string.h>
    #include "ui.h"
    
    
    //选择身份
    void UserOperateChoose(ListType  L)
    {
    	int  option = 0;
    	
    
    	
    	do
    	{
    		
    		//提示用户操作选择
    		PrintOptionChoose( );
    		scanf("%d", &option );
    		
    		//根据用户选择调用相关函数完成指定的操作
    		switch(option )
    		{
    			//添加一个员工
    	/*	case 1:   
    			 
    			UserOperateOne(L);
    			break;*/
    			
    			//删除员工
    	/*	case 2:
    			DelStu(L);
    			break;
    			
    			//修改员工
    	 	case 3:
    			ModifyStu(L);
    			break;         */
    			
    			//查询某个员工
    		case 1:
    			UserOperatemanager(L);
    
    			break;
    			
    			
    		
    			
    			//排序
    	/*	case 3:
    			UserOperateThree(L);
    			break;*/
    			//打印所有员工信息
    		case 2:
    			UserOperateVisitor(L);
    			
    			break;
    			
    		default: break;
    		}
    	}while(option );
    	
    	//程序退出时,显示BYEBYE
    	PrintHello( );
    }
    
    //该函数根据管理员的选择,完成指定的操作
    void UserOperateVisitor(ListType  L)
    {
    	int  option = 0;
    	
    	  //显示欢迎信息
    
    
    	
    	do
    	{
    		//提示用户操作选择
    		PrintOptionVisitor( );
    		scanf("%d", &option );
    		
    		//根据用户选择调用相关函数完成指定的操作
    		switch(option )
    		{
    			//添加一个员工
    	/*	case 1:   
    			 
    			UserOperateOne(L);
    			break;*/
    			
    			//删除员工
    	/*	case 2:
    			DelStu(L);
    			break;
    			
    			//修改员工
    	 	case 3:
    			ModifyStu(L);
    			break;         */
    			
    			//查询某个员工
    		case 1:
    			UserOperateTwo(L);
    
    			break;
    			
    			
    		
    			
    			//排序
    	/*	case 3:
    			UserOperateThree(L);
    			break;*/
    			//打印所有员工信息
    		case 2:
    			PrntAll(L);
    			
    			break;
    			
    		default: break;
    		}
    	}while(option );
    	
    	//程序退出时,显示BYEBYE
    	
    }
    
    
    //该函数根据管理员的选择,完成指定的操作
    void UserOperatemanager(ListType  L)
    {
    	int  option = 0;
    	
    	 
    		//用密码进入系统
    	 password();
    
    	
    	do
    	{
    		//提示用户操作选择
    		PrintOption( );
    		scanf("%d", &option );
    		
    		//根据用户选择调用相关函数完成指定的操作
    		switch(option )
    		{
    			//添加一个员工
    		case 1:   
    			 
    			UserOperateOne(L);
    			break;
    			
    			//删除员工
    	/*	case 2:
    			DelStu(L);
    			break;
    			
    			//修改员工
    	 	case 3:
    			ModifyStu(L);
    			break;         */
    			
    			//查询某个员工
    		case 2:
    			UserOperateTwo(L);
    
    			break;
    			
    			
    		
    			
    			//排序
    		case 3:
    			UserOperateThree(L);
    			break;
    			//打印所有员工信息
    		case 4:
    			PrntAll(L);
    			
    			break;
    		 
    			
    		default: break;
    		}
    	}while(option );
    	
    	//程序退出时,显示BYEBYE
    	 
    }
    
    
    //该函数为基本操作的二级菜单,完成指定的操作
    void UserOperateOne(ListType  L)
    {
    	int  option = 0;
    	
    	
    	do
    	{
    		//提示用户操作选择
    		PrintOptionOne( );
    		scanf("%d", &option );
    		
    		//根据用户选择调用相关函数完成指定的操作
    		switch(option )
    		{
    			//添加一个员工
    		case 1:   
    			AddStu(L);
    			break;
    			
    			//删除员工
    		case 2:
    			DelStu(L);
    			break;
    			
    			//修改员工
    		case 3:
    			ModifyStu(L);
    			break;
    			
    			//返回上级菜单
    		case 0:
    			return;
    			break;
    			
    	/*		//查询某个员工
    		case 5:
    			chkStuname(L);
    			break;
    			
    			
    			//打印所有员工信息
    		case 6:
    			PrntAll(L);
    			break;
    			
    			//按ID号排序
    		case 7:
    			sortbyID(L);
    			
    			break;
    		case 8:
    			//按姓名排序
    			sortbyname(L);
    			break;
    		case 9:
    			//按部门分类显示信息
    			sortbyoffice(L);
    			break;*/
    			
    		default: break;
    		}
    	}while(option );
    	
    	//程序退出时,显示BYEBYE
    	//PrintHello( );
    }
    
    
    //该函数为基本操作的第二个二级菜单,完成指定的操作
    void UserOperateTwo(ListType  L)
    {
    	int  option = 0;
    	
    	
    	do
    	{
    		//提示用户操作选择
    		PrintOptionTwo( );
    		scanf("%d", &option );
    		
    		//根据用户选择调用相关函数完成指定的操作
    		switch(option )
    		{
    			//查询某个员工
    		case 1:
    			chkStu(L);
    			break;
    			
    			//查询某个员工
    		case 2:
    			chkStuname(L);
    
    			break;
    			
    			//返回上级菜单
    		case 0:
    			return;
    			break;
    			
    	/*		//查询某个员工
    		case 5:
    			chkStuname(L);
    			break;
    			
    			
    			//打印所有员工信息
    		case 6:
    			PrntAll(L);
    			break;
    			
    			//按ID号排序
    		case 7:
    			sortbyID(L);
    			
    			break;
    		case 8:
    			//按姓名排序
    			sortbyname(L);
    			break;
    		case 9:
    			//按部门分类显示信息
    			sortbyoffice(L);
    			break;*/
    			
    		default: break;
    		}
    	}while(option );
    	
    	//程序退出时,显示BYEBYE
    	//PrintHello( );
    }
    
    //该函数为基本操作的第三个二级菜单,完成指定的操作
    void UserOperateThree(ListType  L)
    {
    	int  option = 0;
    	
    	
    	do
    	{
    		//提示用户操作选择
    		PrintOptionThree( );
    		scanf("%d", &option );
    		
    		//根据用户选择调用相关函数完成指定的操作
    		switch(option )
    		{
    				//按ID号排序
    		case 1:
    			sortbyID(L);
    			
    			break;
    		case 2:
    			//按姓名排序
    			sortbyname(L);
    			break;
    		case 3:
    			//按部门分类显示信息
    			sortbyoffice(L);
    			break;
    			
    			//按性别排序显示信息
    		case 4:
    
    			sortbysex(L);
    			break;
    			
    		//按年龄排序显示信息
    		case 5:
    			sortbyage(L);
    			break;
    
           //按电话排序显示信息 
    
    		case 6:
    			sortbyphone( L);
    			break;
            //按地址排序显示信息
    		case 7:
    			sortbyaddress( L);
    			break;
    
    
    		//按工资排序显示信息   
    		case 8:
    			sortbypay( L);
    			break;
    
    		//按电子邮件排序显示信息
    		case 9:
    
    			sortbyemil( L);
    			break;
    			
    			//返回上级菜单
    		case 0:
    			return;
    			break;
    			
    	/*		//查询某个员工
    		case 5:
    			chkStuname(L);
    			break;
    			
    			
    			//打印所有员工信息
    		case 6:
    			PrntAll(L);
    			break;
    			
    			//按ID号排序
    		case 7:
    			sortbyID(L);
    			
    			break;
    		case 8:
    			//按姓名排序
    			sortbyname(L);
    			break;
    		case 9:
    			//按部门分类显示信息
    			sortbyoffice(L);
    			break;*/
    			
    		default: break;
    		}
    	}while(option );
    	
    	//程序退出时,显示BYEBYE
    	//PrintHello( );
    }
    
    
    
    /* 用户操作界面启动时,在显示器上显示一些欢迎信息 */
    void PrintWelcome( )
    {
    	puts(" ");
    	puts("********************************************************************" );
    	puts("                       欢迎使用员工管理系统!" );
    	puts("********************************************************************" );
     	puts("	            若有有问题请在留言区交流");
     	puts("********************************************************************" );
    	
    }
    
    
    
    
    
    
    /* 在显示器上显示用户可以进行的操作,以及操作的方法 */
    void PrintOption( )
    {
    	puts(" ");
    	puts("请选择操作:" );
    	puts("0:返回 " );
    	puts("1:进入基本操作菜单");
    	puts("2:进入员工查询系统");
    	puts("3:进入信息排序系统");
    	puts("4:打印员工信息");
    	
    }
    
    
    //选择身份
    void PrintOptionChoose( )
    
    {
    	puts(" ");
    	puts("请选择身份:" );
    	puts("0:退出系统 " );
    	puts("1:以管理员身份进入 " );
    	puts("2:以游客身份进入 " );
    
    }
    
    //显示第一个二级的提示信息
    void PrintOptionOne( )
    {
    	puts(" ");
    	puts("请选择操作:" );
    	puts("0:返回 " );
    	puts("1:添加员工                2:删除员工               3:修改员工信息" );
    	
    }
    //显示第二个二级的提示信息
    void PrintOptionTwo( )
    {
    	puts(" ");
    	puts("请选择操作:" );
    	puts("0:返回 " );
    	puts("1:按员工ID号查询           2:按员工姓名查询" );
    	
    }
    
    //显示第三个二级的提示信息
    void PrintOptionThree( )
    {
    	puts(" ");
    	puts("请选择操作:" );
    	puts("0:返回 " );
    	puts("1:按ID号排序显示信息	 2:按姓名排序显示信息	    3:按部门分类显示信息");
    	puts("4:按性别排序显示信息    5:按年龄排序显示信息      6:按电话排序显示信息");
    	puts("7:按地址排序显示信息    8:按工资排序显示信息      9:按电子邮件排序显示信息");
    	
    }
    
    //显示游客查询系统
    void PrintOptionVisitor( )
    {
    	puts(" ");
    	puts("请选择操作:" );
    	puts("0:返回 " );
     
    	puts("1:进入员工查询系统");
     
    	puts("2:打印员工信息");
    }
    
    
    
    
    /* 程序退出时,在显示器上显示一些感谢语言,以给使用者一个好印象 */
    void PrintHello( )
    {
    	
    	puts("********************************************************************" );
    	puts("                   谢谢使用员工管理系统,再见!" );
    	puts("********************************************************************" );
    	puts(" ");
    	
    }
    
    
    
    //比较两个员工信息的学号是否相等
    //若相等则返回TRUE,否则返回FALSE
    //当调用线性表操作函数int LocateElem(ListType L, ElemType e, STATUS (*compare)(ElemType e1, ElemType e2) 
    //的时候,将该函数名作为第三个参数传递给compare
    STATUS IsEqual(ElemType e1, ElemType e2 )
    {
    	if( strcmp(e1.ID, e2.ID)==0 )
    		return TRUE;
    	
    	return FALSE;
    }
    STATUS IsEqual2(ElemType e1, ElemType e2 )
    {
    	if( strcmp(e1.name, e2.name)==0 )
    		return TRUE;
    	
    	return FALSE;
    }
    
    
    
    //往线性表中添加一个员工
    void AddStu(ListType  L)
    {
    	ElemType  stu;
    	
    	printf("请输入员工的ID号(不超过15位):" );
    	getchar();  //吃掉前面的回车键,否则后面的字符串输入时会出错
    	gets(stu.ID );
    	printf("请输入员工的姓名(不超过15位):" );
    	gets(stu.name );
    	printf("请输入员工的性别(输入M/W):" );
    	stu.sex=getchar();
    	printf("请输入员工的年龄:" );
    	scanf("%d",&stu.age);
    	printf("请输入员工的电话(不超过20位):" );
    	getchar();  //吃掉前面的回车键,否则后面的字符串输入时会出错
    	gets(stu.phone);
    	printf("请输入员工的地址(不超过100位):" );
    	gets(stu.address);
    	printf("请输入员工的电子邮件(不超过50位):" );
    	gets(stu.email);
    	printf("请输入员工的工资(不超过10位):" );
    	gets(stu.pay);
    	printf("请输入员工的工龄:" );
    	scanf("%d",&stu.workingyears);
    	getchar();  //吃掉前面的回车键,否则后面的字符串输入时会出错
    	printf("请输入员工的所在部门(不超过100位):" );
    	gets(stu.office);
    	
    	
    	//判断线性表中是否已经存在该ID号的员工,如果已经存在,则放弃插入操作
    	if( LocateElem(L, stu, IsEqual) )
    	{
    		puts("操作失败,该员工已经存在" );
    		return ;
    	}
    	
    	//将该学生放入线性表中
    	//为简单起见,我们把新添加的结点放到线性表的前面
    	if( ListInsert(L, 1, stu ) )
    		puts("操作成功" );
    	else
    		puts("操作失败" );
    }
    
    
    
    
    
    
    //从线性表中删除一个员工,根据员工的ID号决定删除哪个员工
    void DelStu(ListType  L)
    {
    	ElemType stu;
    	int pos;
    	
    	printf("请输入员工的ID号(不超过15位):" );
    	getchar();  //吃掉前面的回车键,否则后面的字符串输入时会出错
    	gets(stu.ID );
    	pos = LocateElem(L, stu, IsEqual );  //如果存在该ID号的V,则返回其在线性表中的位序,如果不存在返回0
    	if(pos )   
    	{
    		if(ListDelete(L, pos, stu) )
    		{
    			puts("操作成功");
    			return;
    		}
    	}
    	
    	puts("操作失败" );
    }
    
    
    
    //修改员工成绩,根据ID号决定修改哪个员工的成绩
    void ModifyStu(ListType  L)
    {
    	int pos;
    	ElemType stu;
    	
    	printf("请输入员工的ID号(不超过15位):" );
    	getchar();  //吃掉前面的回车键,否则后面的字符串输入时会出错
    	gets(stu.ID );
    	printf("请输入员工的姓名(不超过15位):" );
    	gets(stu.name );
    	printf("请输入员工的性别(输入M/W):" );
    	scanf("%c",&stu.sex);
    	printf("请输入员工的年龄:" );
    	scanf("%d",&stu.age);
    	printf("请输入员工的电话(不超过20位):" );
    	getchar();  //吃掉前面的回车键,否则后面的字符串输入时会出错
    	gets(stu.phone);
    	printf("请输入员工的地址(不超过100位):" );
    	gets(stu.address);
    	printf("请输入员工的电子邮件(不超过50位):" );
    	gets(stu.email);
    	printf("请输入员工的工资(不超过10位):" );
    	gets(stu.pay);
    	printf("请输入员工的工龄:" );
    	scanf("%d",&stu.workingyears);
    	getchar();  //吃掉前面的回车键,否则后面的字符串输入时会出错
    	printf("请输入员工的所在部门:" );
    	gets(stu.office);
    	
    	pos = LocateElem(L, stu, IsEqual );
    	if(pos > 0 )
    	{
    		ListModify(L, pos, stu );
    		puts("操作成功" );
    	}
    	else
    	{
    		puts("操作失败" );
    	}
    	
    	
    }
    
    
    
    
    
    
    //根据学号查询某个员工的成绩
    void chkStu(ListType  L)
    {
    	int pos;
    	ElemType stu;
    	
    	printf("请输入员工的ID号(不超过15位):" );
    	getchar();  //吃掉前面的回车键,否则后面的字符串输入时会出错
    	gets(stu.ID );
    	
    	if(pos = LocateElem(L, stu, IsEqual) )
    	{
    		GetElem(L, pos, stu );
    		PrntOneStu(stu );
    	}
    	else
    	{
    		puts("操作失败" );
    	}
    	
    }
    
    
    
    //根据姓氏查询某个员工的成绩
    void chkStuname(ListType  L)
    {
    	int pos;
    	ElemType stu;
    	
    	printf("请输入员工的姓氏(不超过15位):" );
    	getchar();  //吃掉前面的回车键,否则后面的字符串输入时会出错
    	gets(stu.name);
    	
    	if(pos = LocateElem(L, stu, IsEqual2) )
    	{
    		GetElem(L, pos, stu );
    		PrntOneStu(stu );
    	}
    	else
    	{
    		puts("操作失败" );
    	}
    	
    }
    
    
    //成绩统计,统计全体员工的平均成绩
    /*void StateScore(ListType  L)
    {
    float  total[2] = {0.0, 0.0};
    int num = 0;
    ElemType  e;
    
      while(GetElem(L, num+1, e ) )  //GetElem(...)返回值为FALSE时说明没有位序为num+1的数据
      {
    		num++;
    		total[0] += e.score[0];
    		total[1] += e.score[1];
    		}
    		
    		  if(num > 0 )
    		  {
    		  printf("平均成绩分别为:%.2f, %.2f\n", total[0]/num, total[1]/num );
    		  }
    		  else
    		  {
    		  puts("没有数据信息" );
    		  }
    		  
    			
    }*/
    
    
    
    //打印一个员工的信息
    //调用ListTraverse()函数的时候,将该函数的名字作为第二个参数传递给visit
    STATUS  PrntOneStu(ElemType  stu )
    {
    	printf("ID号:%s 姓名:%s 性别:%c 年龄:%d 电话:%s 地址:%s 电子邮件:%s 工资:%s 工龄:%d 所在部门:%s\n", stu.ID, stu.name, stu.sex,stu.age,stu.phone,stu.address,
    		stu.email,stu.pay, stu.workingyears ,stu.office);
    	
    	return OK;
    }
    
    
    
    
    
    //打印所有学生信息
    void PrntAll(ListType  L)
    {
    	
    	ListTraverse(L, PrntOneStu );
    	
    }
    
    //用于做新的链表 
    
    //按ID排序
    void sortbyID(struct lnode *head)
    {
    	struct lnode *p1,*p2,*l;
    	
    	l=(struct lnode *)malloc(sizeof(struct lnode));                  
    	l->next=NULL;
    	
    	for (p1=head;p1->next!=NULL;p1=p1->next)
    	{
    		for (p2=p1->next;p2!=NULL;p2=p2->next)
    		{
    			if (strcmp(p1->data.ID,p2->data.ID)==-1)
    			{
    				l->data=p1->data;
    				p1->data=p2->data;
    				
    				p2->data=l->data;
    				
    				
    			}
    		}
    	}
        printf("降序排序成功\n");
    	PrntAll(head);
    		  
    }
    
    
    //按姓名排序
    void sortbyname(struct lnode *head)
    {
    	struct lnode *p1,*p2,*l;
    	
    	l=(struct lnode *)malloc(sizeof(struct lnode));                  
    	l->next=NULL;
    	
    	for (p1=head;p1->next!=NULL;p1=p1->next)
    	{
    		for (p2=p1->next;p2!=NULL;p2=p2->next)
    		{
    			if (strcmp(p1->data.name,p2->data.name)==-1)
    			{
    				l->data=p1->data;
    				p1->data=p2->data;
    				
    				p2->data=l->data;
    				
    				
    			}
    		}
    	}
        printf("降序排序成功\n");
    	PrntAll(head);
    		  
    }
    
    //按性别分类显示信息
    void sortbysex(struct lnode *head)
    {
    	struct lnode *p1,*p2,*l;
    	
    	l=(struct lnode *)malloc(sizeof(struct lnode));                  
    	l->next=NULL;
    	
    	for (p1=head;p1->next!=NULL;p1=p1->next)
    	{
    		for (p2=p1->next;p2!=NULL;p2=p2->next)
    		{
    			if (p1->data.sex>p2->data.sex)
    			{
    				l->data=p1->data;
    				p1->data=p2->data;
    				
    				p2->data=l->data;
    				
    				
    			}
    		}
    	}
        PrntAll(head);
    		  
    }
    
    
    //按年龄分类显示信息
    void sortbyage(struct lnode *head)
    {
    	struct lnode *p1,*p2,*l;
    	
    	l=(struct lnode *)malloc(sizeof(struct lnode));                  
    	l->next=NULL;
    	
    	for (p1=head;p1->next!=NULL;p1=p1->next)
    	{
    		for (p2=p1->next;p2!=NULL;p2=p2->next)
    		{
    			if (p1->data.age>p2->data.age)
    			{
    				l->data=p1->data;
    				p1->data=p2->data;
    				
    				p2->data=l->data;
    				
    				
    			}
    		}
    	}
        PrntAll(head);
    		  
    }
    
    
    //按电话分类显示信息
    void sortbyphone(struct lnode *head)
    {
    	struct lnode *p1,*p2,*l;
    	
    	l=(struct lnode *)malloc(sizeof(struct lnode));                  
    	l->next=NULL;
    	
    	for (p1=head;p1->next!=NULL;p1=p1->next)
    	{
    		for (p2=p1->next;p2!=NULL;p2=p2->next)
    		{
    			if (strcmp(p1->data.phone,p2->data.phone)==-1)
    			{
    				l->data=p1->data;
    				p1->data=p2->data;
    				
    				p2->data=l->data;
    				
    				
    			}
    		}
    	}
        PrntAll(head);
    		  
    }
    
    
    //按地址分类显示信息
    void sortbyaddress(struct lnode *head)
    {
    	struct lnode *p1,*p2,*l;
    	
    	l=(struct lnode *)malloc(sizeof(struct lnode));                  
    	l->next=NULL;
    	
    	for (p1=head;p1->next!=NULL;p1=p1->next)
    	{
    		for (p2=p1->next;p2!=NULL;p2=p2->next)
    		{
    			if (strcmp(p1->data.address,p2->data.address)==-1)
    			{
    				l->data=p1->data;
    				p1->data=p2->data;
    				
    				p2->data=l->data;
    				
    				
    			}
    		}
    	}
        PrntAll(head);
    		  
    }
    
    
    //按工资分类显示信息
    void sortbypay(struct lnode *head)
    {
    	struct lnode *p1,*p2,*l;
    	
    	l=(struct lnode *)malloc(sizeof(struct lnode));                  
    	l->next=NULL;
    	
    	for (p1=head;p1->next!=NULL;p1=p1->next)
    	{
    		for (p2=p1->next;p2!=NULL;p2=p2->next)
    		{
    			if (strcmp(p1->data.pay,p2->data.pay)==-1)
    			{
    				l->data=p1->data;
    				p1->data=p2->data;
    				
    				p2->data=l->data;
    				
    				
    			}
    		}
    	}
        PrntAll(head);
    		  
    }
    //按邮件地址分类显示信息
    void sortbyemil(struct lnode *head)
    {
    	struct lnode *p1,*p2,*l;
    	
    	l=(struct lnode *)malloc(sizeof(struct lnode));                  
    	l->next=NULL;
    	
    	for (p1=head;p1->next!=NULL;p1=p1->next)
    	{
    		for (p2=p1->next;p2!=NULL;p2=p2->next)
    		{
    			if (strcmp(p1->data.email,p2->data.email)==-1)
    			{
    				l->data=p1->data;
    				p1->data=p2->data;
    				
    				p2->data=l->data;
    				
    				
    			}
    		}
    	}
        PrntAll(head);
    		  
    }
    
    //按部门分类显示信息
    void sortbyoffice(struct lnode *head)
    {
    	struct lnode *p1,*p2,*l;
    	
    	l=(struct lnode *)malloc(sizeof(struct lnode));                  
    	l->next=NULL;
    	
    	for (p1=head;p1->next!=NULL;p1=p1->next)
    	{
    		for (p2=p1->next;p2!=NULL;p2=p2->next)
    		{
    			if (strcmp(p1->data.office,p2->data.office)==-1)
    			{
    				l->data=p1->data;
    				p1->data=p2->data;
    				
    				p2->data=l->data;
    				
    				
    			}
    		}
    	}
        PrntAll(head);
    		  
    }
    
    //按密码进入系统
    void password()
    {
    	char password[7]="123456"; 
    
    	int choice; 
    	char s[7]; 
    	int flag=0; 
    	int n=3; 
    	do 
    	{ 
    		printf("请你输入密码:\n"); 
    		scanf("%s",s); 
    		if(strcmp(s,password)==0)//若密码正确 
    		{ 
    			printf("恭喜你成功登陆了\n\n\n"); 
    			flag=1; 
    			
    			break; 
    		} 
    		else 
    		{ 
    			printf("输入有错误请重新输入:\n"); 
    			n--; 
    		} 
    	}while(n>0); 
    	
    	if(!flag) 
    	{ 
    		printf("哈哈,O(∩_∩)O哈!,想暴力破解是行不通的\n"); 
    		puts("若有有问题留言区交流");
    		exit(0); 
    
    	}
    }

    做报告课程设计也是在网上找到了很多好的资源,感谢原作者的分享,现在也记不清名字啦,不过也学习网友们的无私奉献精神,把资料分享给大家,帮助更多的朋友吧

    相关文章推荐:

    1、 C语言学生成绩管理系统源代码 ★★★★★

    2、 C语言学籍管理系统源代码 ★★

    3、C语言学生成绩管理系统设计 《C语言程序设计》实训报告 ★★★

    4、C语言学生信息管理系统源代码 ★★★

    感谢阅读!

    展开全文
  • 员工信息管理系统后台HTML 模板

    热门讨论 2013-11-01 16:17:34
    本模板适合用于管理系统,可以很好的实现靓丽页面【实例为员工信息管理系统,可以修改为其他的,用于借鉴哈】
  • 基于BS结构的信息管理系统 只要是BS结构的改改都通用 代码可以借鉴 我认为很好的学习资料 稍微改动即可 课程设计源码希望对你们有帮助
  • java写企业员工信息管理系统

    千次阅读 2021-05-24 15:37:20
    java写企业员工信息管理系统 这一篇文章主要介绍java写的企业员工信息管理系统。 功能介绍: 员工登录:首页、工资信息、出差记录、请假、签到、留言、修改密码、退出登录 管理员登录:员工管理、新增员工、工资信息...

    java写企业员工信息管理系统

    这一篇文章主要介绍java写的企业员工信息管理系统。

    功能介绍:
    员工登录:首页、工资信息、出差记录、请假、签到、留言、修改密码、退出登录
    管理员登录:员工管理、新增员工、工资信息、出差信息、请假信息、签到信息、留言信息、公告信息、个人信息、退出登录。

    页面展示如下:
    员工登录:
    在这里插入图片描述

    在这里插入图片描述
    管理员登录:
    在这里插入图片描述
    实现:
    首先新建一个Springboot项目,这里用的Springboot,当然也可以使用SSH框架或者SSM框架,用javaweb项目也可以写。先看用Springboot写的。
    用户登录页面:

       
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>企业员工信息管理</title>
        <script src="../js/jquery-3.3.1.js"></script>
        <link rel="stylesheet" href="../layui/css/layui.css">
        <script type="text/javascript" src="../layui/layui.js"></script>
    </head>
    
    <body background="../img/1.png;" style="background-repeat:no-repeat;width:100%;height:1080px;background-size: 100% 100%;">
    <div style="width: 350px; margin: 14% auto;">
        <h1 align="center" style="margin: auto 0 60px auto;">企业员工信息管理</h1>
        <form class="layui-form" id="form1" method="post">
            <div class="layui-form-item">
                <label class="layui-form-label">账号:</label>
                <div class="layui-input-inline">
                    <input type="text" name="username" required lay-verify="required"
                           autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">密码:</label>
                <div class="layui-input-inline">
                    <input type="password" name="password" required
                           lay-verify="required" autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">角色</label>
                <div class="layui-input-block">
                    <input type="radio" name="type" value="1" title="用户登录" checked>
                    <input type="radio" name="type" value="2" title="管理员登录">
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label"> </label> <a class="layui-btn"
                                                             onclick="checkLogin()"/>登录</a>
                <!--            <a class="layui-btn"-->
                <!--               href="../staff/addUser.html"/>注册</a>-->
            </div>
        </form>
    </div>
    <script>
        //Demo
        layui.use('form', function () {
            var form = layui.form;
        });
    </script>
    <script>
        function checkLogin() {
            $.ajax({
                url: "/user/login",
                type: "post",
                data: $('#form1').serialize(),
                dataType: "json",
                success: function (date) {
                    if (date.code == 0 && date.data.type == 1) {
                        localStorage.setItem("name", date.data.name)
                        localStorage.setItem("id", date.data.id)
                        window.setTimeout("location.href='/user/user.html'");
                    } else if (date.code == 0 && date.data.type == 2) {
                        localStorage.setItem("name", date.data.name)
                        localStorage.setItem("id", date.data.id)
                        window.setTimeout("location.href='/user/index.html'");
                    } else
                        alert("账号或密码错误!")
                }
            })
        }
    </script>
    </body>
    
    </html>
    

    后台实现:

    /**
         * 用户登录
         */
        @Override
        public Object adminLogin(String username, String password, Integer type) {
            if (type == 2) {
                Example example = new Example(User.class);
                Example.Criteria criteria = example.createCriteria();
                criteria.andEqualTo("username", username);
                criteria.andEqualTo("password", password);
                List<User> users = userMapper.selectByExample(example);
                if (!users.isEmpty()) {
                    Map<String, Object> map = new HashMap<>();
                    map.put("name", users.get(0).getUsername());
                    map.put("id", users.get(0).getId());
                    map.put("password", users.get(0).getPassword());
                    map.put("type", type);
                    return Utils.toJSONString(0, "登录成功", map, 0);
                } else {
                    return Utils.toJSONString(1, "登录失败", 0, 0);
                }
            } else if (type == 1) {
                Example example = new Example(Staff.class);
                Example.Criteria criteria = example.createCriteria();
                criteria.andEqualTo("account", username);
                criteria.andEqualTo("pwd", password);
                List<Staff> staff = staffMapper.selectByExample(example);
                if (!staff.isEmpty()) {
                    Map<String, Object> map = new HashMap<>();
                    map.put("name", staff.get(0).getAccount());
                    map.put("id", staff.get(0).getId());
                    map.put("password", staff.get(0).getPwd());
                    map.put("type", type);
                    return Utils.toJSONString(0, "登录成功", map, 0);
                } else {
                    return Utils.toJSONString(1, "登录失败", 0, 0);
                }
            } else
                return Utils.toJSONString(1, "登录失败", 0, 0);
    
        }
    

    这个项目包含了企业信息管理系统的基本功能,可以添加或者删除功能,如需完整项目可以联系我V信:18739766888。另代做java毕业设计、java作业等等。添加V信详聊。任何java写的都可以。

    展开全文
  • javaweb课程设计之员工信息管理系统

    千次阅读 2021-03-25 09:33:48
    主要技术java+tomact8.0+servlet+filter+session会话+三层架构+数据库+layui前端框架+myBatis后台框架+jsp项目说明主要实现员工信息管理系统,实现增删改查功能用户:登录注册 进入系统前台查询信息管理员:对员工的...

    主要技术

    java+tomact8.0+servlet+filter+session会话+三层架构+数据库+layui前端框架+myBatis后台框架+jsp

    项目说明

    主要实现员工信息管理系统,实现增删改查功能

    用户:登录注册 进入系统前台查询信息

    管理员:对员工的信息进行增删改查等等

    过滤层实现设置编码和session实现强制登录

    项目展示

    注册界面

    注册界面实现用户注册,注册后跳转到登录界面

    bae833b3dbc65b1bfb6827ad43350cac.png

    登录界面

    登录界面,管理员和用户公用一个界面,登录后根据身份进入不同的操作界面

    f711b9f1b5c5e43615c2426194265a2b.png

    用户界面(前台)

    fe15cb300e2f3f70116b26ee2f3fc9ef.png

    管理员登录后界面(后台)

    b75db6186284dab0b36db8aaab5f19e4.png

    查询功能

    查询为模糊查询

    名字查询可以不用写全,例如输入赵,就会查到名字含有赵的人员信息,年龄查询最低,最高查询,还有部门查询

    当什么都不输入,点击立即搜索,就会查询全部,单个查询名字,后面不输入,默认只查询关键字为xx名字的人员信息

    其他类似,部门是下拉框查询,其他都是输入查询,功能实现完整强大

    81b46cde6f1c4d440eabc835a85dc0cd.png

    年龄查询

    b939b729d6274744bb9ae044ebf2431f.png

    部门查询

    b72ac71078726c79f4e3f3aab0236246.png

    删除,批量删除

    字面意思,点击删除,该条数据就会从数据库中立即删除,由于数据我写的有点少就不演示了

    添加员工

    4e38332e5823731d6036921904102b7b.png

    修改员工信息

    员工展示界面中点击修改,会跳到员工修改界面中,当然id是不变的,所以加上了只读,也就是除了id其他都可修改

    b561bd4f5c2018f25348e95a01fa13a0.png

    源码截图

    5b8e86f587887e8942d020aaa7c98c98.png

    看着有点多,实际上理清思路很好写的

    最后

    该项目也可以作为基于javaweb课程设计学生管理系统,图书管理系统,等等用的比较多,其实功能就这些,换个名字而已,作为课程设计可以拿到不错的分数

    源码太多就不贴出来了,打包(带数据库)直接放到百度网盘里,需要学习参考拿去用吧

    标签:课程设计,界面,javaweb,登录,查询,名字,信息管理系统,员工

    来源: https://blog.csdn.net/huayula/article/details/111339211

    展开全文
  • Eclipse+Java+Swing+Mysql实现员工信息管理系统

    千次阅读 多人点赞 2022-01-07 21:39:13
    Java+Swing+Mysql实现员工信息管理系统。系统功能有管理员登录系统,.管理员对部门的增删改查;管理员对职务的增删改查;管理员对员工的增删改查。
  • C++实现员工信息管理系统

    千次阅读 多人点赞 2021-11-03 22:11:12
    员工信息管理系统 成绩 课 程 设 计 主 要 内 容 【问题描述】 编写一个程序来管理员工信息。通过一个类来存放输入的每一位员工的...
  • Javaweb企业员工信息管理系统

    千次阅读 2021-08-23 15:58:50
    本期项目是《Javaweb企业员工信息管理系统》,对应的视频教程,我已上传到B站、西瓜等视频平台,可复制文章标题关键词前往视频平台搜索观看。 一、项目功能介绍 《javaweb企业员工信息管理系统》该项目采用技术jsp...
  • 员工信息管理系统

    千次阅读 2019-06-03 09:43:57
    这里写自定义目录标题员工信息管理系统欢迎使用Markdown编辑器功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中...
  • Python员工信息管理系统-简易版1.职员信息管理系统2.参考代码 1.职员信息管理系统 要求: 1、依次从键盘录入每位员工的信息,包括姓名、员工id、身份证号; 2、身份证号十八位,要求除了第18位可以为x,其余都只能为...
  • Java 员工信息管理系统

    万次阅读 多人点赞 2019-04-29 20:36:49
    "------员工信息管理系统功能选择菜单:------" ) ; System . out . println ( "1.输入员工信息" ) ; System . out . println ( "2.查找某个员工" ) ; System . out . println ( "3.显示全部员工人数和...
  • php简易员工管理系统1.0版(数据库查询、封装、分页技术、业务逻辑处理 验证信息是否合法、初步分层MVC结构化)
  • 员工信息管理系统--C语言

    万次阅读 多人点赞 2017-07-22 16:57:14
    员工信息管理系统 1.管理员模块:密码验证成功后,进入管理员菜单选项,管理员可以进行:  1)采集信息
  • 通过员工信息管理系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。帮助管理人员更好的管理信息。本软件最终用户是某公司的工作人员,能够对计算机进行简单的操
  • 员工信息管理系统功能有“查询”,“插入”,“修改”,“删除”,“退出” 工具: Python Pycharm(可要可不要) 首先: 我们定义个盒子,用来装我们的信息stafflist stafflist = [] 我们写个功能表 def ...
  • VBA编程实现EXCEl企业员工信息管理系统,EXcel2007,账号:管理员 密码:admin
  • 企业员工信息管理系统主要用于实现公司的员工相关信息管理,基本功能包括:密码修改、员工管理、部门管理、出勤管理、工资管理、请假审核、我的请假、我的工资等。本系统结构如下: (1)管理员端 密码修改:修改...
  • Java项目员工信息管理系统

    千次阅读 多人点赞 2018-12-20 21:50:47
    该项目名称为“员工信息管理系统”(或“员工收录系统”),主要是通过输入员工的id、姓名信息,实现简单的增删改查功能。 该项目主要在DOS窗口的控制台或者Eclipse的控制台上进行操作。操作界面如下: 该项目的...
  • 员工信息管理系统(JavaWeb结课项目)

    千次阅读 多人点赞 2020-01-08 11:26:25
    员工管理OA 一、OA办公系统简介 办公自动化(Office Automation,简称OA),是为了提高工作效率,实现无纸办公,而开发的标准软件。通常 医院、超市、园区、物流、校园 等,都使用OA。 二、RBAC模型介绍 ...
  • 企业员工信息管理系统主要用于实现公司的员工相关信息管理,基本功能包括:密码修改、员工管理、部门管理、出勤管理、工资管理、请假审核、我的请假、我的工资等。本系统结构如下: (1)管理员端 密码修改:修改...
  • 企业员工信息管理系统主要用于实现公司的员工相关信息管理,基本功能包括:密码修改、员工管理、部门管理、出勤管理、工资管理、请假审核、我的请假、我的工资等。本系统结构如下: (1)管理员端 密码修改:修改...
  • qt项目:员工信息管理系统

    千次阅读 多人点赞 2019-04-11 16:53:47
    开发一个员工信息管理系统 一、项目具体要求: 1、用qt开发界面,数据库用QSqlite 数据库文件名:demostudent.db 2、通过界面能够查看到数据库中员工信息表中内容,包括员工姓名、年龄、性别、 成绩、生日、基本...
  • jsp简单的员工信息管理系统.zip 可用于程序实践
  • Java企业员工信息管理系统源码

    千次阅读 2019-06-26 09:53:39
    本系统是使用Java开发的员工信息管理系统,使用Swing开发,主要实现了对员工信息的增删改查,数据库使用的是mysql数据库。 2.数据库设计 一共三张表,分别是普通用户表:userinfo,管理员表:admininfo,员工表:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 215,995
精华内容 86,398
关键字:

员工信息管理

友情链接: W2.zip