人事管理系统C 源代码

人事管理系统C 源代码
人事管理系统C 源代码

#include "stdio.h" /*标准输入输出函数库*/

#include "stdlib.h" /*标准函数库*/

#include "string.h" /*字符串函数库*/

#include "conio.h" /*屏幕操作函数库*/

#define HEADER1 " -------------------------------RSDA---------------------------------------- \n"

#define HEADER2 "| number| name | jbgz | jj | kk | yfgz | sk | sfgz | \n"

#define HEADER3 "|--------|-----------|--------|--------|--------|--------|--------|--------| \n"

#define FORMAT "|%-8s|%-10s |%8.2f|%8.2f|%8.2f|%8.2f|%8.2f|%8.2f| \n" #define DATA p->num,p->name,p->jbgz,p->jj,p->kk,p->yfgz,p->sk,p-

>sfgz

#define END "---------------------------------------------------------------------------- \n"

#define N 60

int saveflag=0; /*是否需要存盘的标志变量*/

/*定义与职工有关的数据结构*/

typedef struct employee /*标记为employee*/

{

char num[10]; /*职工编号*/

char name[15]; /*职工姓名*/

float jbgz; /*基本工资*/

float jj; /*奖金*/

float kk; /*扣款*/

float yfgz; /*应发工资*/

float sk; /*税款*/

float sfgz; /*实发工资*/

}RSDA;

void menu() /*主菜单*/

{

system("cls"); /*调用DOS命令,清屏.与clrscr()功能相同*/

printf(" The Employee Management System \n");

printf("

*************************Menu********************************\n");

printf(" * 1 input record 2 delete record *\n");

printf(" * 3 search record 4 modify record *\n");

printf(" * 5 insert record 6 count record *\n");

printf(" * 7 sort record 8 save record *\n");

printf(" * 9 display record 0 quit system *\n");

printf("

*************************************************************\n");

/*printf()送格式化输出至屏幕中*/

}

void printheader() /*格式化输出表头*/

{

printf(HEADER1);

printf(HEADER2);

printf(HEADER3);

}

void printdata(RSDA pp) /*格式化输出表中数据*/

{

RSDA* p;

p=&pp;

printf(FORMAT,DATA);

}

void Disp(RSDA tp[],int n) /*显示数组tp[]中存储的记录,内容为employee 结构中定义的内容*/

{

int i;

if(n==0) /*表示没有职工工资记录*/

{

printf("\n=====>Not employee record!\n");

while(getchar()!='\n')

continue;

getchar();

}

printf("\n\n");

printheader(); /*输出表格头部*/

i=0;

while(i

{

printdata(tp[i]);

i ;

printf(HEADER3);

}

while(getchar()!='\n')

continue;

getchar();

}

void Wrong() /*输出按键错误信息*/

{

printf("\n\n\n\n\n***********Error:input has wrong! press any key to continue**********\n");

while(getchar()!='\n')

continue;

getchar();

}

void Nofind() /*输出未查找到此职工的信息*/

{

printf("\n=====>Not find this employee record!\n");

}

/*************************************************************

作用:用于定位数组中符合要求的记录,并返回保存该记录的数组元素下标值

参数:findmess[]保存要查找的具体内容; nameornum[]保存按什么在数组中查找**************************************************************/

int Locate(RSDA tp[],int n,char findmess[],char nameornum[])

{

int i=0;

if(strcmp(nameornum,"num")==0) /*按职工编号查询*/

{

while(i

if(strcmp(tp[i].num,findmess)==0) /*若找到findmess值的职工编号*/

return i;

i ;

}

}

else if(strcmp(nameornum,"name")==0) /*按职工姓名查询*/

{

while(i

{

if(strcmp(tp[i].name,findmess)==0) /*若找到findmess值的姓名*/ return i;

i ;

}

}

return -1; /*若未找到,返回一个整数-1*/

}

/*输入字符串,并进行长度验证(长度

void stringinput(char *t,int lens,char *notice)

{

char n[255];

do{

printf(notice); /*显示提示信息*/

scanf("%s",n); /*输入字符串*/

if(strlen(n)>lens) printf("\n exceed the required length! \n"); /*进行长度校验,超过lens值重新输入*/

}while(strlen(n)>lens);

strcpy(t,n); /*将输入的字符串复制到字符串t中*/

}

/*输入数值,0<=数值)*/

float numberinput(char *notice)

{

float t=0.00;

do{

printf(notice); /*显示提示信息*/

scanf("%f",&t); /*输入如工资等数值型的值*/

if(t<0) printf("\n score must >=0! \n"); /*进行数值校验*/

}while(t<0);

return t;

}

/*增加职工工资记录*/

int Add(RSDA tp[],int n)

{

char ch,num[10];

int i,flag=0;

system("cls");

Disp(tp,n); /*先打印出已有的职工工资信息*/

while(1) /*一次可输入多条记录,直至输入职工编号为0的记录结束添加操作*/ {

while(1) /*输入职工编号,保证该编号没有被使用,若输入编号为0,则退出

添加记录操作*/

{

stringinput(num,10,"input number(press '0'return menu):"); /*格式化输入编号并检验*/

flag=0;

if(strcmp(num,"0")==0) /*输入为0,则退出添加操作,返回主界面*/

{return n;}

i=0;

while(i

{

if(strcmp(tp[i].num,num)==0)

{

flag=1;

break;

}

i ;

}

if(flag==1) /*提示用户是否重新输入*/

{ getchar();

printf("==>The number %s is existing,try again?(y/n):",num);

scanf("%c",&ch);

if(ch=='y'||ch=='Y')

continue;

else

return n;

}

else

{break;}

}

strcpy(tp[n].num,num); /*将字符串num复制到tp[n].num中*/

stringinput(tp[n].name,15,"Name:");

tp[n].jbgz=numberinput("jbgz:"); /*输入并检验基本工资*/

tp[n].jj=numberinput("jiangjin:"); /*输入并检验奖金*/

tp[n].kk=numberinput("koukuan:"); /*输入并检验扣款*/

tp[n].yfgz=tp[n].jbgz tp[n].jj-tp[n].kk; /*计算应发工资*/

tp[n].sk=tp[n].yfgz*0.12; /*计算税金,这里取应发工资的12%*/

tp[n].sfgz=tp[n].yfgz-tp[n].sk; /*计算实发工资*/

saveflag=1;

n ;

}

return n;

}

/*按职工编号或姓名,查询记录*/

void Qur(RSDA tp[],int n)

{

int select; /*1:按编号查,2:按姓名查,其他:返回主界面(菜单)*/

char searchinput[20]; /*保存用户输入的查询内容*/

int p=0;

if(n<=0) /*若数组为空*/

{

system("cls");

printf("\n=====>No employee record!\n");

getchar();

return;

}

system("cls");

printf("\n =====>1 Search by number =====>2 Search by name\n"); printf(" please choice[1,2]:");

scanf("%d",&select);

if(select==1) /*按编号查询*/

{

stringinput(searchinput,10,"input the existing employee number:");

p=Locate(tp,n,searchinput,"num");/*在数组tp中查找编号为searchinput 值的元素,并返回该数组元素的下标值*/

if(p!=-1) /*若找到该记录*/

{

printheader();

printdata(tp[p]);

printf(END);

printf("press any key to return");

getchar();

}

else

Nofind();

getchar();

}

else if(select==2) /*按姓名查询*/

{

stringinput(searchinput,15,"input the existing employee name:");

p=Locate(tp,n,searchinput,"name");

if(p!=-1)

{

printheader();

printdata(tp[p]);

printf(END);

printf("press any key to return");

getchar();

}

else

Nofind();

getchar();

}

else

Wrong();

getchar();

}

/*删除记录:先找到保存该记录的数组元素的下标值,然后在数组中删除该数组元素*/

int Del(RSDA tp[],int n)

{

int sel;

char findmess[20];

int p=0,i=0;

if(n<=0)

{ system("cls");

printf("\n=====>No employee record!\n");

getchar();

return n;

}

system("cls");

Disp(tp,n);

printf("\n =====>1 Delete by number =====>2 Delete by name\n"); printf(" please choice[1,2]:");

scanf("%d",&sel);

if(sel==1)

{

stringinput(findmess,10,"input the existing employee number:");

p=Locate(tp,n,findmess,"num");

getchar();

if(p!=-1)

{

for(i=p 1;i

{

strcpy(tp[i-1].num,tp[i].num);

strcpy(tp[i-1].name,tp[i].name);

tp[i-1].jbgz=tp[i].jbgz;

tp[i-1].jj=tp[i].jj;

tp[i-1].kk=tp[i].kk;

tp[i-1].yfgz=tp[i].yfgz;

tp[i-1].jbgz=tp[i].sk;

tp[i-1].sfgz=tp[i].sfgz;

}

printf("\n==>delete success!\n");

n--;

getchar();

saveflag=1;

}

else

Nofind();

getchar();

}

else if(sel==2) /*先按姓名查询到该记录所在的数组元素的下标值*/

{

stringinput(findmess,15,"input the existing employee name:");

p=Locate(tp,n,findmess,"name");

getchar();

if(p!=-1)

{

for(i=p 1;i

{

strcpy(tp[i-1].num,tp[i].num);

strcpy(tp[i-1].name,tp[i].name);

tp[i-1].jbgz=tp[i].jbgz;

tp[i-1].jj=tp[i].jj;

tp[i-1].kk=tp[i].kk;

tp[i-1].yfgz=tp[i].yfgz;

tp[i-1].jbgz=tp[i].sk;

tp[i-1].sfgz=tp[i].sfgz;

}

printf("\n=====>delete success!\n");

n--;

getchar();

saveflag=1;

}

else

Nofind();

getchar();

}

return n;

}

/*修改记录:先按输入的职工编号查询到该记录,然后提示用户修改编号之外的值,编号不能修改*/

void Modify(RSDA tp[],int n)

{

char findmess[20];

int p=0;

if(n<=0)

{ system("cls");

printf("\n=====>No employee record!\n");

getchar();

return ;

}

system("cls");

printf("modify employee recorder");

Disp(tp,n);

stringinput(findmess,10,"input the existing employee number:"); /*输入并检验该编号*/

p=Locate(tp,n,findmess,"num"); /*查询到该数组元素,并返回下标值*/

if(p!=-1) /*若p!=-1,表明已经找到该数组元素*/

{

printf("Number:%s,\n",tp[p].num);

printf("Name:%s,",tp[p].name);

stringinput(tp[p].name,15,"input new name:");

printf("jbgz:%8.2f,",tp[p].jbgz);

tp[p].jbgz=numberinput("jbgz:");

printf("jiangjin:%8.2f,",tp[p].jj);

tp[p].jj=numberinput("jiangjin:");

printf("koukuan:%8.2f,",tp[p].kk);

tp[p].kk=numberinput("koukuan:");

tp[n].yfgz=tp[n].jbgz tp[n].jj-tp[n].kk;

tp[n].sk=tp[n].yfgz*0.12;

tp[n].sfgz=tp[n].yfgz-tp[n].sk;

printf("\n=====>modify success!\n");

getchar();

Disp(tp,n);

getchar();

saveflag=1;

}

else

{Nofind();

getchar();

}

return ;

}

/*插入记录:按职工编号查询到要插入的数组元素的位置,然后在该编号之后插入一个新数组元素。*/

int Insert(RSDA tp[],int n)

{

char ch,num[10],s[10]; /*s[]保存插入点位置之前的编号,num[]保存输入的新记录的编号*/

RSDA newinfo;

int flag=0,i=0,kkk=0;

system("cls");

Disp(tp,n);

while(1)

{ stringinput(s,10,"please input insert location after the Number:"); flag=0;i=0;

while(i

{

if(strcmp(tp[i].num,s)==0) {kkk=i;flag=1;break;}

i ;

}

if(flag==1)

break; /*若编号存在,则进行插入之前的新记录输入操作*/

else

{ getchar();

printf("\n=====>The number %s is not existing,try

again?(y/n):",s);

scanf("%c",&ch);

if(ch=='y'||ch=='Y')

{continue;}

else

{return n;}

}

}

/*以下新记录的输入操作与Add()相同*/

while(1)

{ stringinput(num,10,"input new employee Number:");

i=0;flag=0;

while(i

{

if(strcmp(tp[i].num,num)==0) {flag=1;break;}

i ;

}

if(flag==1)

{

getchar();

printf("\n=====>Sorry,The number %s is existing,try

again?(y/n):",num);

scanf("%c",&ch);

if(ch=='y'||ch=='Y')

{continue;}

else

{return n;}

}

else

break;

}

strcpy(newinfo.num,num); /*将字符串num复制到newinfo.num中*/

stringinput(https://www.360docs.net/doc/fe1354425.html,,15,"Name:");

newinfo.jbgz=numberinput("jbgz:"); /*输入并检验jbgz*/

newinfo.jj=numberinput("jiangjin:"); /*输入并检验jiangjin*/ newinfo.kk=numberinput("koukuan:"); /*输入并检验koukuan*/

newinfo.yfgz=newinfo.jbgz newinfo.jj-newinfo.kk; /*计算yfgz*/

newinfo.sk=newinfo.yfgz*0.12; /*计算sk*/

newinfo.sfgz=newinfo.yfgz-newinfo.sk;

saveflag=1; /*在main()有对该全局变量的判断,若为1,则进行存盘操作*/

for(i=n-1;i>kkk;i--) /*从最后一个组织元素开始往向移动一个元素的位置*/ { strcpy(tp[i 1].num,tp[i].num);

strcpy(tp[i 1].name,tp[i].name);

tp[i 1].jbgz=tp[i].jbgz;

tp[i 1].jj=tp[i].jj;

tp[i 1].kk=tp[i].kk;

tp[i 1].yfgz=tp[i].yfgz;

tp[i 1].sk=tp[i].sk;

tp[i 1].sfgz=tp[i].sfgz;

}

strcpy(tp[kkk 1].num,newinfo.num); /*在kkk的元素位置后插入新记录*/ strcpy(tp[kkk 1].name,https://www.360docs.net/doc/fe1354425.html,);

tp[kkk 1].jbgz=newinfo.jbgz;

tp[kkk 1].jj=newinfo.jj;

tp[kkk 1].kk=newinfo.kk;

tp[kkk 1].yfgz=newinfo.yfgz;

tp[kkk 1].sk=newinfo.sk;

tp[kkk 1].sfgz=newinfo.sfgz;

n ;

Disp(tp,n);

printf("\n\n");

getchar();

return n;

}

/*统计公司的员工的工资在各等级的人数*/

void Tongji(RSDA tp[],int n)

{

int count10000=0,count5000=0,count2000=0,count0=0;

int i=0;

if(n<=0)

{ system("cls");

printf("\n=====>Not employee record!\n");

getchar();

return ;

}

system("cls");

Disp(tp,n);

i=0;

while(i

{

if(tp[i].sfgz>=10000) {count10000 ;i=i 1;continue;} /*实发工

资>10000*/

if(tp[i].sfgz>=5000) {count5000 ;i=i 1;continue;} /*5000≤实发工资<10000*/

if(tp[i].sfgz>=2000) {count2000 ;i=i 1;continue;} /*2000≤实发工资<5000*/

if(tp[i].sfgz<2000) {count0 ;i=i 1;continue;} /*实发工资

<2000*/

}

printf("\n------------------------------the TongJi result--------------------------------\n");

printf("sfgz>= 10000:%d (ren)\n",count10000);

printf("5000<=sfgz<10000:%d (ren)\n",count5000);

printf("2000<=sfgz< 5000:%d (ren)\n",count2000);

printf("sfgz< 2000:%d (ren)\n",count0);

printf("-------------------------------------------------------------------------------\n");

printf("\n\npress any key to return");

getchar();

}

/*利用冒泡排序法实现数组的按实发工资字段的降序排序,从高到低*/

void Sort(RSDA tp[],int n)

{

int i=0,j=0,flag=0;

RSDA newinfo;

if(n<=0)

{ system("cls");

printf("\n=====>Not employee record!\n");

getchar();

return ;

}

system("cls");

Disp(tp,n); /*显示排序前的所有记录*/

for(i=0;i

{

flag=0;

for(j=0;j

if((tp[j].sfgz

{ flag=1;

strcpy(newinfo.num,tp[j].num); /*利用结构变量newinfo实现数组元素的交换*/

strcpy(https://www.360docs.net/doc/fe1354425.html,,tp[j].name);

newinfo.jbgz=tp[j].jbgz;

newinfo.jj=tp[j].jj;

newinfo.kk=tp[j].kk;

newinfo.yfgz=tp[j].yfgz;

newinfo.sk=tp[j].sk;

newinfo.sfgz=tp[j].sfgz;

strcpy(tp[j].num,tp[j 1].num);

strcpy(tp[j].name,tp[j 1].name);

tp[j].jbgz=tp[j 1].jbgz;

tp[j].jj=tp[j 1].jj;

tp[j].kk=tp[j 1].kk;

tp[j].yfgz=tp[j 1].yfgz;

tp[j].sk=tp[j 1].sk;

tp[j].sfgz=tp[j 1].sfgz;

strcpy(tp[j 1].num,newinfo.num);

strcpy(tp[j 1].name,https://www.360docs.net/doc/fe1354425.html,);

tp[j 1].jbgz=newinfo.jbgz;

tp[j 1].jj=newinfo.jj;

tp[j 1].kk=newinfo.kk;

tp[j 1].yfgz=newinfo.yfgz;

tp[j 1].sk=newinfo.sk;

tp[j 1].sfgz=newinfo.sfgz;

}

if(flag==0) break;/*若标记flag=0,意味着没有交换了,排序已经完成*/ }

Disp(tp,n); /*显示排序后的所有记录*/

saveflag=1;

printf("\n =====>sort complete!\n");

}

/*数据存盘,若用户没有专门进行此操作且对数据有修改,在退出系统时,会提示用户存盘*/

void Save(RSDA tp[],int n)

{

FILE* fp;

int i=0;

fp=fopen("c:\\rsda","wb");/*以只写方式打开二进制文件*/

if(fp==NULL) /*打开文件失败*/

{

printf("\n=====>open file error!\n");

getchar();

return ;

}

for(i=0;i

{

if(fwrite(&tp[i],sizeof(RSDA),1,fp)==1)/*每次写一条记录或一个结构数组元素至文件*/

{

continue;

}

else

{

break;

}

}

if(i>0)

{

getchar();

printf("\n\n=====>save file complete,total saved's record number is:%d\n",i);

getchar();

saveflag=0;

}

else

{system("cls");

printf("the current link is empty,no employee record is saved!\n");

getchar();

}

fclose(fp); /*关闭此文件*/

}

void main()

{

RSDA gz[N]; /*定义RSDA结构体*/

FILE *fp; /*文件指针*/

int select; /*保存选择结果变量*/

char ch; /*保存(y,Y,n,N)*/

int count=0; /*保存文件中的记录条数(或元素个数)*/

fp=fopen("C:\\rsda","ab ");

/*以追加方式打开二进制文件c:\zggz,可读可写,若此文件不存在,则会创建此文件*/

if(fp==NULL)

{

printf("\n=====>can not open file!\n");

exit(0);

}

while(!feof(fp))

{

if(fread(&gz[count],sizeof(RSDA),1,fp)==1) /*一次从文件中读取一条职工工资记录*/

count ;

}

fclose(fp); /*关闭文件*/

printf("\n==>open file sucess,the total records number

is : %d.\n",count);

getchar();

menu();

while(1)

{

system("cls");

menu();

printf("\n Please Enter your choice(0~9):"); /*显示提示信息*/

scanf("%d",&select);

if(select==0)

{

if(saveflag==1) /*若对数组的数据有修改且未进行存盘操作,则此标志为

1*/

{ getchar();

printf("\n==>Whether save the modified record to file?(y/n):");

scanf("%c",&ch);

if(ch=='y'||ch=='Y')

Save(gz,count);

}

printf("\n===>thank you for useness!");

getchar();

break;

}

switch(select)

{

case 1:count=Add(gz,count);break; /*增加职工工资记录*/

case 2:count=Del(gz,count);break; /*删除职工工资记录*/

case 3:Qur(gz,count);break; /*查询职工工资记录*/

case 4:Modify(gz,count);break; /*修改职工工资记录*/

case 5:count=Insert(gz,count);break; /*插入职工工资记录*/

case 6:Tongji(gz,count);break; /*统计职工工资记录*/

case 7:Sort(gz,count);break; /*排序职工工资记录*/

case 8:Save(gz,count);break; /*保存职工工资记录*/

case 9:system("cls");Disp(gz,count);break; /*显示职工工资记录*/

default: Wrong();getchar();break; /*按键有误,数值必须为0~9*/ }

}

}

基于jsp设计的人事管理系统(含源文件)

JSP课程设计 第1章课程设计目的与要求 (1) 1.1 课程设计目的 (1) 1.2 课程设计的实验环境 (1) 1.3 课程设计的预备知识 (1) 1.4 课程设计要求 (1) 第2章课程设计内容 (2) 2.1 系统设计 (2) 2.2 数据库模型 (3) 2.3 模块与功能设计 (4) 2.4 模块主要代码 (7) 第3章课程设计总结 (16) 参考文献 (17)

第1章课程设计目的与要求 1.1 课程设计目的 本课程的课程设计实际是网络技术专业学生学习完《JSP语言程序设计》课程后,进行的一次全面的综合训练,其目的在于加深对JSP语言程序设计的基础理论和基本知识的理解,掌握运用JSP动态网页编程技术开发应用程序的基本方法。 1.2 课程设计的实验环境 硬件要求:能运行Windows 9.X操作系统的微机系统。 软件要求:JDK、tomcat6.0、SQL Server 2000。 1.3 课程设计的预备知识 熟悉JSP语言程序设计的基本知识及应用开发的编程思想。 1.4 课程设计要求 按课程设计指导书提供的课题,应根据下一节给出的基本需求独立完成各个方面的设计,标有“可选”的部分可根据设计时间的安排及工作量的大小适当选择。选用其他课题或不同的数据库系统,可以组成设计小组,分模块进行,共同协作完成一个课题的开发任务。要求书写详细的设计说明书,对复杂的代码段和程序段,应画出程序流程图。在界面设计中,设计好每个窗口的布局,有多个窗口时,按模块调用的方式画出窗口调用图,用手工画好报表和标签样式,严禁相互抄袭。

第2章课程设计内容 2.1系统功能分析 2.1.1 系统功能分析 人事管理是企业管理的重要内容,如何管理好一个企业内部员工的信息,成为企业管理中的一个大的问题。此时,一个规范、自动的人事管理系统的使用显得尤为重要。根据人事管理的实际要求,结合人事信息管理的实际流程,“人事管理系统”可以满足以下要求: 1.能够掌握企业员工的基本信息,其中包括编号、姓名、性别、籍贯、民族、出生年月、政治面貌、专业、学历、家庭住址、婚姻状况、电话、身份证号等信息,除此之外还可以掌握每个员工的工作信息、调动信息、培训信息、奖惩信息等相关信息。 2.管理人员能够对本系统做相应的管理工作,可以对员工信息进行变动管理,如进行数据添加、查找和修改等操作。而浏览者只可以查看其相应的内容,不可以进行其他操作。 2.1.2 系统功能模块设计 由于人事管理系统主要面向的是小型企业的日常工作,所以设置的模块尽可能的满足企业的日常办公即可,其中设计的功能模块如图2.1所示。 图2.1 功能模块图

人事管理系统——C语言

人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询; (3)编辑功能(高级):根据查询对相应的记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息; (5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入的数据进行相应的存储; 一、需求分析: 根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,也即最多可储存的职工人数为100; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建档案信息; 2、删除信息; 3、追加信息; 4、搜索查找信息(按姓名或者编号搜索); 5、浏览全部信息; 6、修改信息; 7、信息排序; 8、信息统计; 三、详细设计; 1、主函数: 〈1〉需求分析: 为使系统执行完每部分功能后能够方便的回到系统主界面,main()函数设计的很简单,只包含一个menu()函数,其余的全部功能都通过menu()函数调用来实现,并通过menu()函数的递归调用实现返回主界面的功能。 main()函数定义如下: main()

人事管理系统源代码

#include #include #include #define N 100 struct member_info { char xm[7]; char xb[3]; char sr[15]; char whcd[13]; char zc[17]; char sfzh[19]; char lxdh[12]; int gl; int nl; }; struct member_info member[N+1]; int CurrentCount=0; void input() { char sfjx=1; while(sfjx!=0) { if(CurrentCount==N) { printf("\n人数已达上限,不能添加!!!\n"); sfjx=0; } else { CurrentCount++; printf("\n请输入员工信息(姓名性别生日年龄文化程度联系电话身份证号码工龄职称):\n"); scanf("%s%s%s%d%s%s%s%d%s",member[CurrentCount].xm,member[CurrentCount].xb,memb er[CurrentCount].sr,&member[CurrentCount].nl,member[CurrentCount].whcd,member[CurrentC ount].lxdh,member[CurrentCount].sfzh,&member[CurrentCount].gl,member[CurrentCount].zc); printf("\n是否继续(0--结束,其它--继续):"); scanf("%d",&sfjx); } } printf("人员已排序"); int i,j; for(i=1;i

C语言-人事管理系统

人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询; (3)编辑功能(高级):根据查询对相应的记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息; (5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入的数据进行相应的存储; 一、需求分析: 根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,也即最多可储存的职工人数为100; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建档案信息; 2、删除信息; 3、追加信息; 4、搜索查找信息(按姓名或者编号搜索); 5、浏览全部信息; 6、修改信息; 7、信息排序; 8信息统计; 三、详细设计; 1、主函数: 〈1〉需求分析: 为使系统执行完每部分功能后能够方便的回到系统主界面,main()函数设计的 很简单,只包含一个menu()函数,其余的全部功能都通过menu()函数调用来实现,并通过menu()函数的递归调用实现返回主界面的功能。

人事管理系统(课程设计)源码

急需一个公司的人事管理系统源代码(vc++编程) 悬赏分:100 |解决时间:2008-1-8 09:58 |提问者:klak1 某小型公司,主要有两类人员:经理、员工。现在,需要存储这些人员的姓名、编号、身份证号码、业绩、级别(经理包括总经理、经理、副经理级别,员工包括高级员工、普通员工和临时工级别)、家庭住址、开始工作日期、所在部门、薪水等信息,并可以对这些信息进行检索。 要求: 1)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1; 2)根据业绩的大小具有自动升降级别的功能; 3)输入员工身份证号码号码后自动获取员工生日; 4)输入员工开始工作日期后自动获取员工工龄; 5)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息 最佳答案 #include #include #include #include const int Maxr=100; class Employee //职工类 { int tag;//删除标记 int no;//职工编号 char name[20]; char zw[20];//职工姓名 int salary;//职工工资 public: Employee(){} char *getname() {return name;}//获取名字 int gettag() {return tag;}//获取标记 int getno() {return no;}//获取编号 int getsalary(){return salary;} void setzw(char q[])//设置名字 { strcpy(zw,q); } void setname(char na[])//设置名字 { strcpy(name,na); } void getsalary(int sa){salary=sa;} void delna(){tag=1;}//删除

高校人事管理系统C++代码

#include #include #includepowered by https://www.360docs.net/doc/fe1354425.html, #include using namespace std; class employee { protected: int number; char name[20]; char sex[6]; char workplace[20]; char place[20]; char nation[6]; char birth[20]; char party[10]; char id[20]; float score[5]; public: Employee *nest; Employee(){} ~Employee(){} char* getname(){ return name; } int getnumber(){ return number; } double getscore(int i){ return score[i];} float get(){ return(score[0]+ score[1]+ score[2]+ score[3]+ score[4]);} void input() { int e=1; cout<<“\t\t\t按提示输入 :”<>workplace ; do { cout<< “\t\t输入性别 :” ; cin>>sex ; if(strcmp(sex,“man”)==0 || strcmp(sex,“woman”)==0) { cout<<“\t\t输入籍贯:”; cin >>place; cout<<“\t\t输入民族:”; cin >>nation;

人事管理系统数据库设计sql代码

建立数据库: create database 数据库 建表: create table 部门信息表 (部门编号 char(2) primary key , 部门名称 nchar(14) , 部门职能 nchar(14), 部门人数 char (4) ) go create table 管理员信息表 (用户名 nchar(4) primary key , 密码 char(10) , ) go create table 用户信息表 (用户名char(10) primary key , 用户类型char(10), 密码 char(10) ) go create table 员工工作岗位表 (姓名 nchar(4) primary key , 员工编号 char(4) 工作岗位 nchar(3) ,

部门名称 nchar(10), 参加工作时间 char (4) ) go create table 员工学历信息表 (姓名 nchar(4) primary key , 员工编号 char(4) 学历 nchar(2) , 毕业时间 char(10), 毕业院校 nchar (10), 外语情况 nchar(10), 专业 nchar(10) ) go create table 员工婚姻情况表 (姓名 nchar(4) primary key , 员工编号 char(4) 婚姻情况 nchar(2) , 配偶姓名 nchar(4), 配偶年龄 char (3), 工作单位 nchar(10), ) go create table 员工基本信息表 (员工编号 char(4) primary key , 姓名 nchar(4) ,

人事管理系统代码

package rsgl; import java.awt.* import java.awt.event.*; import java.sql.*; import java.util.*; import javax.swing.*; import javax.swing.border.*; public class A extends JFrame { protected JPanel p = new JPanel(); protected JPanel p1 = new JPanel(); protected JPanel p2 = new JPanel(); protected JPanel p3= new JPanel(); JMenuBar M =new JMenuBar(); JMenu m1 = new JMenu("基本信息模块"); JMenu m2 = new JMenu("考勤考评信息模块"); JMenu m3 = new JMenu("系统维护信息模块"); JMenuItem mm1 = new JMenuItem("员工基本信息"); JMenuItem mm2 = new JMenuItem("员工家庭成员基本信息"); JMenuItem mm3 = new JMenuItem("员工培训信息"); JMenuItem mm4 = new JMenuItem("员工考勤信息"); JMenuItem mm5 = new JMenuItem("员工考评信息"); JMenuItem mm6 = new JMenuItem("普通管理员"); JMenuItem mm7 = new JMenuItem("高级管理员"); JMenuItem mm8 = new JMenuItem("退出"); protected JLabel l1 = new JLabel("员工编号:"); protected JLabel l2 = new JLabel("姓名:"); protected JLabel l3 = new JLabel("性别:"); protected JLabel l4 = new JLabel("年龄:"); protected JLabel l5 = new JLabel("部门:"); protected JTextField t1 = new JTextField(10); protected JTextField t2 = new JTextField(10); protected JTextField t3 = new JTextField(10); protected JTextField t4 = new JTextField(10); protected JTextField t5 = new JTextField(10); private JButton b1 = new JButton("查询"); private JButton b2 = new JButton("插入"); private JButton b3 = new JButton("修改"); private JButton b4 = new JButton("删除"); private JButton b5 = new JButton("清除"); private JButton b6 = new JButton("下一条"); private Connection c; // @jve:decl-index=0: private Statement s; // @jve:decl-index=0: private ResultSet r; // @jve:decl-index=0: public A() { super("人事管理系统"); getContentPane().add(p); setJMenuBar(M);M.add(m1);M.add(m2);M.add(m3);m1.add(mm1); m1.add(mm2);m1.add(mm3);m1.addSeparator();m1.add(mm8);m2.add(mm4); m2.add(mm5);m3.add(mm6);m3.add(mm7); p.add(p1,BorderLayout.NORTH); p.add(p2,BorderLayout.CENTER); p.add(p3,BorderLayout.SOUTH); p1.setLayout(new GridLayout(5,2,1,3)); p1.add(l1);p1.add(t1); p1.add(l2);p1.add(t2); p1.add(l3);p1.add(t3); p1.add(l4);p1.add(t4); p1.add(l5);p1.add(t5); p2.add(b1);p1.add(b2); p2.add(b3);p1.add(b4); p2.add(b5);p3.add(b6); t1.setText("");t2.setText("");t3.setText("");t4.setText("");t5.setText(""); setSize(350,300);setVisible(true); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDrive"); c=DriverManager.getConnection("jdbc:odbc:sd","sa",null); s=c.createStatement(); r=s.executeQuery("select * from 员工基本信息表"); } catch (SQLException e){ JOptionPane.showMessageDialog(null ,e.getMessage(),"操作错误!",JOptionPane.ERROR_MESSAGE); System.exit(1); } catch(ClassNotFoundException e) { JOptionPane.showMessageDialog(null ,e.getMessage(),"驱动程序找不到!",JOptionPane.ERROR_MESSAGE); System.exit(1); } addWindowListener( new WindowAdapter(){ public void windowClosing(WindowEvent event) { try { s.close();c.close(); } catch(SQLException e) { JOptionPane.showMessageDialog(null,e.getMessage(),"不能关闭!",JOptionPane.ERROR_MESSAGE); System.exit(1); } } }); b1.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent event) { try{ r=s.executeQuery("select *

C语言课设之人事管理系统之欧阳家百创编

C语言课程设计 欧阳家百(2021.03.07) ——人事管理系统题目要求: 人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询; (3)编辑功能(高级):根据查询对相应的记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息;(5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入的数据进行相应的存储; 一、需求分析: 根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件存贮,这样的方法在一定程度上提高了对数据处理的灵活性,较容易理解,但存在处理中遇到以外情况而丢失数据的风险,另外当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,基本上能满足要求; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建数据文件(build new data); 2、添加记录(add data);

asp 课程设计源代码-人事管理系统

附录:源程序代码 1).default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default2" %> 无标题页

C语言课程设计-人事管理系统

C语言课程设计 ——人事管理系统

题目要求: 人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询; (3)编辑功能(高级):根据查询对相应的记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息; (5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入的数据进行相应的存储; 一、需求分析: 根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件存贮,这样的方法在一定程度上提高了对数据处理的灵活性,较容易理解,但存在处理中遇到以外情况而丢失数据的风险,另外当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,基本上能满足要求; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建数据文件(build new data); 2、添加记录(add data); 3、删除记录(delete data); 4、按工号搜索(search by number); 5、按姓名搜索(search by name); 6、浏览全部数据(browse all); 7、修改数据(modify the data); 8、排序功能(order the volume); 9、统计功能(data a volume); 系统功能模块图如下:

人事管理系统实验报告

摘要 人事管理是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来。如何管理好企业内部员工的信息,成为企业管理中的一个大问题。在这种情况下,开发一个人事管理系统就显得非常必要。本系统结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Visual Basic6.0作为开发工具而开发出来的单机版人事管人事理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本企业人事管理系统具有如下功能:员工基本信息的录入、修改、查询、删除模块,员工假条信息录入、修改、查询、删除模块,员工工资信息的录入,计算,查询,以及系统用户的设置以及系统的维护功能。为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。本文系运用规范研究方法进行的专题研究。全文分六个部分:第一部分,是本课题的来源和课题研究的目的和意义;第二部分,是开发工具的选择,本系统主要运用的是Visual Basic 6.0作为系统前台应用程序开发工具,Access作为后台数据库;第三部分,是系统的需求分析,主要是人事管理系统的需求分析;第四部分,是系统分析与实现,包括系统功能模块的设计和数据库的设计;第五部分,是代码的设计与实现,系统事件运行的主要代码;第六部分,是系统的实现,最后,是软件的测试 关键词:人事管理系统设计SQL Server 2005数据库Visual Basic 6.0 维护测试

第一章绪论 1.1 引言 随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。人力资源管理是结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Visual Basic6.0作为开发工具而开发出来的单机版人事管人事理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本企业人事管理系统具有如下功能:员工基本信息的录入、修改、查询、删除模块,员工假条信息录入、修改、查询、删除模块,员工工资信息的录入,计算,查询,以及系统用户的设置以及系统的维护功能。为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。 1.2 项目背景 本课题基于我国企业管理信息化建设现状,结合在实际工作中所遇到的问题和收获,对企业人事管理系统在设计开发等方面进行研究,重点研究系统开发中所采用的软硬件平台规范、数据库结构设计、开发工具的选择与使用,目的是从技术手段的角度阐述如何实现企业从传统经营管理模式向信息化管理模式转变的过程,以及人事管理系统在企业管理信息化中所起到的重要作用。本课题的开发主要是要花费相当多的人力和时间,虽然开发出来的软件可能离具体产生效益还有一定的距离。但是,出于通过毕业设计来丰富自己的专业知识,并从长远利益来考虑,本课题的设计开发还是具有相当大的经济可行性的。 1.3 实现意义 现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的人事管理的形式和内涵都在发生着根本性的变化。在过去,一支笔和一张绘图桌,可能就是进行办公的全部工具。今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。如今,人事管理己完全可以通过电脑进行,并在计算机辅助下准确快速地完成许多复杂的工作。这些都大大地缩短管理的时间。而今天,人事管理的内容己经转变为对更为广泛的系统价值的追求。信息管理,如今已是一个热门话题,它已为许

高校人事管理系统C++程序设计源代码

目录 新建一个头文件类,名字为:Person.h,再建一个源文件,名字随意,代码按顺序 粘贴进去即可运行。 (2) 头文件: (2) 源文件: (2)

新建一个头文件类,名字为:Person.h,再建一个源文件,名字随意,代码按顺序粘贴进去即可运行。 头文件: #include #include using namespace std; //基类 class Person { public: char name[20]; char sex[6]; int age; char zzmm[10]; char zgxl[10]; int rzsj; int lysj;

int gongzi; virtual void add() { cout<<"姓名:";cin>>name; cout<<"性别:";cin>>sex; cout<<"年龄:";cin>>age; cout<<"工资:";cin>>gongzi; cout<<"政治面貌:";cin>>zzmm; cout<<"最高学历:";cin>>zgxl; cout<<"任职时间:";cin>>rzsj; cout<<"来院时间:";cin>>lysj; } virtual void show() { cout<<"姓名:"<

C语言课设之人事管理系统

C语言课程设计 ——人事管理系统

题目要求: 人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询; (3)编辑功能(高级):根据查询对相应的记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息; (5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入的数据进行相应的存储; 一、需求分析: 根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件存贮,这样的方法在一定程度上提高了对数据处理的灵活性,较容易理解,但存在处理中遇到以外情况而丢失数据的风险,另外当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,基本上能满足要求; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建数据文件(build new data); 2、添加记录(add data); 3、删除记录(delete data); 4、按工号搜索(search by number); 5、按姓名搜索(search by name);

C语言课设之人事管理系统

C语言课程设计 ——人事管理系统

题目要求: 人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员与临时工。现在,需要存储这些人员得人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事得变动情况,添加删除记录; (2)查询功能:能根据编号与姓名进行查询; (3)编辑功能(高级):根据查询对相应得记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员得统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者得信息; (5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入得数据进行相应得存储; 一、需求分析: 根据题目要求,职工信息就是存放在文件中得,所以应该提供相应得文件得输入输出得功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应得操作,另外菜单式得选择方式选择程序得功能也就是必须需得。另外程序中要求存储得模块,采用得方式均为将原文件中得所有数据读入内存,在内存中处理之后以覆盖得方式写入文件存贮,这样得方法在一定程度上提高了对数据处理得灵活性,较容易理解,但存在处理中遇到以外情况而丢失数据得风险,另外当文件中得数据量很大时,这种方法也存在一定得难度,在本程序中将N定为100,基本上能满足要求; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建数据文件(build new data); 2、添加记录(add data); 3、删除记录(delete data); 4、按工号搜索(search bynumber); 5、按姓名搜索(search by name); 6、浏览全部数据(browseall); 7、修改数据(modify thedata); 8、排序功能(orderthe volume); 9、统计功能(dataa volume); 系统功能模块图如下:

基于Java的人事管理系统文献综述

学校代码:11517 学号:2 文献综述 题目基于的人事管理系统 的设计与实现 学生姓名许耀辉 专业班级信息与计算科学1042班 学号 2 系(部)理学院 指导教师(职称)董西广(讲师) 完成时间2014年3月4日

基于的人事管理系统的设计与实现 摘要:随着计算机的发展,科技的发展,现阶段的人事管理系统越来越不能满足企业的需要,特别是对于一些企业仍然采用人工管理的方式,这种方式不仅增加了企业的成本,而且极其容易出错,设计一种基于的人事管理系统就应运而生了,人事管理系统基本实现了企业人事管理的基本应用,包括人事信息管理的增、删、改、查,考勤信息管理的增、删、改、查,个人简历信息管理等基本应用,设计的人事管理涉及数据库的操作,以及数据库的连接等相关知识。 关键词:人事管理 1 引言 21世纪最激烈的竞争当属人才的竞争,一个具有多学科知识的复合性人才或许是一个企业发展壮大所不可或缺的重要因素。因此人力资源已逐步成为企业最重要的资源,人力资源管理(,)也成为现代企业管理工作中的重要内容之一。随着社会的发展,科技的进步,计算机的应用在社会各领域中都得到了普及,越来越多的人都感受到利用计算机进行各类管理的科学和便捷;认识到管理信息系统对于管理工作的重要性[1]。 本次论文创作的主要目的是设计一款简单、易操作的现代人事管理系统,在论文创作的过程中,我借助学校和个人收集的相关资料,利用图书馆和网络等渠道,广泛查阅相关资料,分析前人成果的基础上,明确系统设计思路。 2 人事管理系统的发展 2.1人事管理系统的国外的发展 人事管理系统的发展经过三个阶段的发展。 人事管理系统的发展历史可以追溯到20世纪60年代末期。由于当时计算机技术已经进入实用阶段,同时大型企业用手工来计算和发放薪资既费时费力又容易出差错,为了解决这个矛盾,第一代人事管理系统应运而生。 第二代的人事管理系统出现于20世纪70年代末。由于计算机技术的飞速发展,无论是计算机的普及性,还是计算机系统工具和数据库技术的发展,都为的

人事管理系统大数据库源代码

using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("~/登录.aspx"); } protected void Button2_Click(object sender, EventArgs e) { Response.Redirect("~/人员信息查询.aspx"); } protected void Button3_Click(object sender, EventArgs e) { Response.Redirect("~/人员修改.aspx"); } protected void Button4_Click(object sender, EventArgs e) { Response.Redirect("~/部门信息.aspx"); } protected void Button5_Click(object sender, EventArgs e) { Response.Redirect("~/工资信息.aspx"); } } } using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq;

相关文档
最新文档