高校教职工管理系统项目源码(职工工资管理系统课程设计源代码)
本文目录一览:
- 1、求教师信息管理系统java源代码
- 2、高校人事管理系统 (C++) 程序编写
- 3、求基于B/S的javaWeb版的高校教师档案系统源码,数据库为mysql,谢谢啦
- 4、c语言课程设计—教师工作量管理系统源代码
- 5、职工管理系统C++源代码
- 6、学校人事管理系统源代码,c语言编的
求教师信息管理系统java源代码
我们能根据此要求提供一份与需求相适应的代码(教学版,个人版,专业版,企业版)
为获取建议,你需要告诉我们有效的电子邮件地址。
您还可以直接依靠百度Hi联系我们, 或借助百度知道向我求助, 或凭借百度知道发送短消息
或QQ:六五七幺五六幺五('幺'读 yao 一声)
有时间能完成你的题目
ES:\FFF2ABE57886516CE04C493C49B6329A
交易提醒:预付订金是陷阱
定制开发管理系统,B2B/B2C电子商务,企业/个人网站更有优惠
高校人事管理系统 (C++) 程序编写
已经发你邮箱高校教职工管理系统项目源码,注意查收高校教职工管理系统项目源码,满意的话要采纳哦高校教职工管理系统项目源码!
用C++编写的高校人事管理系统高校教职工管理系统项目源码,其中人事信息包括姓名、性别、年龄、职工类型、职务、职称 、学历 、政治面貌、来院时间、参加工作时等。要求该系统具有浏览目前学校教职工的总情况,以及增加,删除,查询,等功能。同时可以对学校目前的男、女教师人数、党员人数、教授、副教授及各层次人数等信息进行统计。程序的主要实现可以用链表来实现。类设计完成后,输入足够的测试数据进行测试,将必要的测试及过输入到文件中。
备注高校教职工管理系统项目源码:以下是一些需要用到的内容
职工类型:教师、行政人员、实验员
职务:针对行政人员:科员、科级、处级、校级
职称:教师:教授、副教授、讲师、助教
实验员、行政人员:高工、工程师、助工
学历:本科、硕士、博士
求基于B/S的javaWeb版的高校教师档案系统源码,数据库为mysql,谢谢啦
我有几个项目代码是关于javaee的高校教师档案管理系统, 采用S2SH或者springmvc进行实现
数据库采用mysql, 开发环境eclipse+Jdk1.8
c语言课程设计—教师工作量管理系统源代码
#includestdio.h //标准输入、输出头文件
#includestring.h //包含字符串函数处理头文件
#includestdlib.h //包含动态存储与释放函数头文件
#includeiostream // system
#define TEALEN sizeof(teanode) //教师信息结构体长度
#define LEN sizeof(Lnode) //链表节点长度
#define MAX 10
int SAME[MAX];
typedef struct teanode
{
char name[10]; //教师姓名
int lesson; //授课工作量
int exper; //实验工作量
int cdesign; //课程设计工作量
int gdesign; //毕业设计工作量
int total; //总工作量
int pos; //排序位置
}teanode,*linknode;//教师信息结构体
typedef struct Lnode
{
char no[20]; //教师编号
linknode info; //节点信息详细指针指向教师信息结构体
struct Lnode *prior,*next; //双向链表指针域
}Lnode,*linklist;//链表节点
void newLnode();
void initlist();
void prin();
void initlist(linklist *T)
{
*T=(linklist)malloc(LEN);
(*T)-info=(linknode)malloc(TEALEN);//为头结点申请空间
(*T)-prior=*T;//设置头结点高校教职工管理系统项目源码的前驱指针
(*T)-next=*T;//设置头结点高校教职工管理系统项目源码的后继指针
}//初始化双向循环链表
void newLnode(linklist*p)
{
*p=(linklist)malloc(LEN);//新节点
if(!p)
{
printf("申请节点失败");
exit(0);
}
(*p)-info=(linknode)malloc(TEALEN);
}
void prin(linklist * L)
{
if(L==NULL)
{
printf("没有可以显示的信息\n");
return;
}
linklist p=(*L)-next;
// printf("********************************************************************************\n");
printf("教师编号 教师姓名 工作量排名 工作总量\n\n");
while (p!=*L)
{
printf("%7s%9s%10d%10d\n",p-no,p-info-name,p-info-pos,p-info-total);
p=p-next;
}
}
void main()
{
linklist input(linklist L);
linklist sort(linklist L);
int j;//用来判断是否结束
linklist L;
initlist(L);
do{
system("cls");//清屏函数
printf(" ★--- 您好高校教职工管理系统项目源码,欢迎进入教师工作量统计系统高校教职工管理系统项目源码! ---★\n");
printf("================================================================================\n");
printf( " -------- ☆ 1.输入教师工作量信息 ☆-------- \n\n"
" -------- ☆ 2.进行教师工作量排序 ☆-------- \n\n"
" -------- ☆ 3.显示教师工作量情况 ☆-------- \n\n"
" -------- ☆ 0.退出 ☆-------- \n\n");
printf("================================================================================\n");
printf("请在0-3中选择以回车键结束高校教职工管理系统项目源码:\n\n");
scanf("%d",j);
switch(j) {
case 1:
L=input(L);
prin(L);
printf("录入结束\n");
system("pause");
break;
case 2:
L=sort(L);
printf("排序成功\n");
system("pause");
break;
case 3:
prin(L);
system("pause");
break;
case 0:;
break;
}
}while(j!=0);
printf("谢谢使用,再见!\n");
}//主函数结束
linklist input(linklist L)
{
linklist workload(linklist p);
linklist adworkload(linklist p);
linklist searinsert(linklist L,linklist p);
linklist sort(linklist L);
int flag=0;
char no[10];
linklist p;
p=L-next;
for(;;)
{
if(flag==1)
break;
printf("请输入教师编号输入@结束:\n\n");
scanf("%s",no);
if(no[0]=='@')
{
flag=1;
break;
}
while (p!=L)//当链表不空时
{
if (strcmp(p-no,no)==0)
{
printf("该教师编号已存在,输入需要增加的工作量\n\n");
p-prior-next=p-next;
p-next-prior=p-prior;//删除P,
p=adworkload(p);//修改P中的详细信息info指针域的内容
L=searinsert(L,p);//重新查找P的位置插入链表L中
return L;
}
p=p-next;
}//跳出循环则该教师编号第一次输入
newLnode(p);
strcpy(p-no,no);
printf("请输入教师姓名:\n");
scanf("%s",p-info-name);
p=workload(p);
L=searinsert(L,p);
}
return L;
}
linklist adworkload(linklist p)
{
int a;
printf("请输入增加的授课工作量:\n");
scanf("%d",a);
p-info-lesson+=a;
printf("请输入增加的实验工作量:\n");
scanf("%d",a);
p-info-exper+=a;
printf("请输入增加的课程设计工作量:\n");
scanf("%d",a);
p-info-cdesign+=a;
printf("请输入增加的毕业设计工作量:\n");
scanf("%d",a);
p-info-gdesign+=a;
//p-info-pos=0;
p-info-total=p-info-lesson+p-info-exper+p-info-cdesign+p-info-gdesign;//求总工作量
return p;
}
linklist workload(linklist p)
{
printf("请输入该教师的授课工作量:\n");
scanf("%d",(p-info-lesson));
printf("请输入该教师的实验工作量:\n");
scanf("%d",(p-info-exper));
printf("请输入该教师的课程设计工作量:\n");
scanf("%d",(p-info-cdesign));
printf("请输入该教师的毕业设计工作量:\n");
scanf("%d",(p-info-gdesign));
p-info-pos=0;
p-info-total=p-info-lesson+p-info-exper+p-info-cdesign+p-info-gdesign;//求总工作量
return p;
}
linklist searinsert(linklist L,linklist p)
{//将P放置L中合适的位置
linklist tra;//遍历指针
linklist x;//P插入位置的前一个节点指针
tra=L-next;//指向第一个节点
if ((L-next==L)||(p-info-totaltra-info-total)) //第一次插入或者大于表头的情况
{
x=L;//插入表头
}
else if (p-info-totalL-prior-info-total) //小于表尾的情况
{
x=L-prior;//插入表尾
}
else
{ while (p-info-totaltra-info-total)
tra=tra-next;
x=tra-prior;//正常查找情况
}
//将P接到X后面
p-next=x-next;
p-prior=x;
x-next=p;
p-next-prior=p;
return L;
}
linklist sort(linklist L)
{
linklist sortfisrtlast(linklist L,linklist first,linklist last,int n);
int i;
for(i=0;iMAX;i++)
SAME[i]=0;//初始化数组SAME[MAX]
linklist p,first,last;
int x,n=1,k;
p=L-next;
while (p!=L)
{
x=1;
while ((p-next-info-total!=p-info-total)p!=L)
{
p-info-pos=n;
p=p-next;
n++;
}
if (p==L)
return L;
else
while ((p-next-info-total==p-info-total)p!=L)
{
k=n;
if (x==1)
{
//k=n;
first=p;
}
p-info-pos=k;
x++;
p=p-next;
p-info-pos=k;
//保存X
SAME[k]=x;
}
n+=x-1;
if (p==L)
return L;
else
{
last=p;
p=last-next;
L=sortfisrtlast(L,first,last,k);//调用fisrt last函数
}
}
}
linklist sortfisrtlast(linklist L,linklist first,linklist last,int n)
{
if (first==last)
return L;
linklist head,posa,posb,p,t;
linklist tra;//遍历指针
linklist x;//P插入位置的前一个节点指针
posa=first-prior;//接入位置a
posb=last-next;//接入位置b
posa-next=last-next;
last-next-prior=posa;
last-next=NULL;
first-prior=NULL;//删除这段
initlist(head);
p=first;
while (p!=NULL)
{
tra=head-next;
if ((head-next==head)||strcmp(p-no,tra-no)0)//第一次插入或者小于当前节点
x=head;
else if (strcmp(p-no,head-prior-no)0)
x=head-prior;
else
{
while(strcmp(p-no,tra-no)0)
tra=tra-next;
x=tra-prior;
}
t=p;//将P接到X后
p=p-next;
t-next=x-next;
t-prior=x;
x-next=t;
t-next-prior=t;
}
printf("********************************************************************************\n");
// printf("================================================================================\n");
printf("工作量名次相同的教师名单:(按编号排序)\n\n");
printf("名次为%d教师共有%d名\n\n",n,SAME[n]);
prin(head);
first=head-next;
last=head-prior;
posa-next=first;
first-prior=posa;
posb-prior=last;
last-next=posb;
return L;
}
职工管理系统C++源代码
//希望对你有帮助.这个不是高校教职工管理系统项目源码我自己写高校教职工管理系统项目源码的,是搜集的别人的,写的不错,可以运行。
/**************************************************
内容及要求:
1注册新职工,添加新职工的详细信息,
如:职工号,姓名,出生年份,性别,职称,部门,工资等高校教职工管理系统项目源码;
2按姓名,部门等条件进行查询高校教职工管理系统项目源码;
3修改和删除职工信息;
4按工资高低进行排序;
5把各项纪录存储在文本文件中。
评说:有删除和增加的操作,最好选取链表来做。
**************************************************/
#include string
#include iostream
#include fstream
#include iomanip
#include memory.h
#include stdio.h
#include conio.h
#include stdlib.h
using namespace std;
struct Employee
{//声明职工的结构作为链表节点。
//-----数据域-----
string m_Code;
string m_Name;
unsigned short int m_Year;
string m_Sex;
string m_Post;
string m_Department;
unsigned int m_Wage;
//链表节点的指针域---
struct Employee* Next;
};
//-----个人习惯:取别名-------
typedef struct Employee Node;
typedef Node* Link;
//-------函数声明-------------
Link Create(Link Head);
void Release(Link Head);
Link Add(Link Head);
bool Search(Link Head);
Link Search_Unique(Link Head);
void Display_List(Link Head);
void Display_Node(Link pNode);
Link Modify(Link Head);
Link Del(Link Head);
void Save_ByFile(Link Head,fstream ofile);
Link Sort(Link Head);
//-------函数实现--------------------------
Link Create(Link Head)
{//创建一个带头节点的空链表。
Head=(Link)new Node;
if(!Head)
{
cout"分配内存失败!"endl;
return NULL;
}
Head-m_Code="";
Head-m_Name="";
Head-m_Year=0;
Head-m_Sex="";
Head-m_Post="";
Head-m_Department="";
Head-m_Wage=0;
Head-Next=NULL;
return Head;
}
void Release(Link Head)
{//释放链表。
Link ptr;//声明一个操作用的指针。
while(Head!=NULL)
{
ptr=Head;
Head=Head-Next;
delete ptr;//释放节点资源。
}
}
Link Add(Link Head)
{//前插法添加数据。
Link pNew;// 声明一个新节点。
char again;
string code,name,sex,post,department;
unsigned short int year;
unsigned int wage;
do
{
pNew=(Link)new Node;
//数据域。
cout"请输入职工代码:";
cincode;
coutendl"请输入职工姓名:";
cinname;
coutendl"请输入职工出生年份:";
cinyear;
while(cin.fail())
{
cout"请输入正确的年份格式。"endl;
cin.clear();
fflush(stdin);
cinyear;
}
coutendl"请输入职工性别:";
cinsex;
coutendl"请输入职工职称:";
cinpost;
coutendl"请输入职工部门:";
cindepartment;
coutendl"请输入职工工资:";
cinwage;
while(cin.fail())
{
cout"请输入正确的工资数据。"endl;
cin.clear();
fflush(stdin);
cinwage;
}
coutendl;
pNew-m_Code=code;
pNew-m_Name=name;
pNew-m_Year=year;
pNew-m_Sex=sex;
pNew-m_Post=post;
pNew-m_Department=department;
pNew-m_Wage=wage;
//指针域。
pNew-Next=Head-Next;
Head-Next=pNew;
cout"数据添加成功!是否继续添加?(Y/N)"endl;
cinagain;
}while(again=='Y'||again=='y');
return Head;
}
bool Search(Link Head)
{//查询同时满足“姓名”和“部门”的职工信息。
Link ptr;
string department;
string name;
ptr=Head-Next;
cout"请输入部门:";
cindepartment;
coutendl"请输入姓名:";
cinname;
coutendl"----------------查询结果------------------"endl;
while(ptr)
{
if((ptr-m_Name==name)(ptr-m_Department==department))
{
Display_Node(ptr);//打印满足条件的节点。
return true;
}
ptr=ptr-Next;//查询下一节点。
}
cout"无此职工的信息。"endl;
return false;
}
Link Search_Unique_Front(Link Head)
{//查询满足“职工代码“的职工信息(职工代码必需唯一)。
Link ptr;
string code;
ptr=Head;
cout"请输入职工代码:";
cincode;
coutendl"----------------查询结果------------------"endl;
while(ptr-Next)
{
if(ptr-Next-m_Code==code)
//Display_Node(ptr);//打印满足条件的节点。
return ptr;//注意,是返回的查询到的节点的直接前趋节点。
ptr-Next=ptr-Next-Next;//查询下一节点。
}
return ptr;
}
void Display_List(Link Head)
{
Link ptr;
ptr=Head-Next;
cout"==================所有职工信息=================="endl;
while(ptr)
{
Display_Node(ptr);
ptr=ptr-Next;
}
}
void Display_Node(Link pNode)
{//在标准输出设备上输出。
coutsetw(10)leftpNode-m_Code
setw(10)leftpNode-m_Name
setw(10)leftpNode-m_Year
setw(10)leftpNode-m_Sex
setw(10)leftpNode-m_Post
setw(10)leftpNode-m_Department
setw(10)leftpNode-m_Wageendl;//setw(10)表示占10个字符位置。
}
Link Modify(Link Head)
{// 修改单一个节点。
Link ptr;
ptr=Search_Unique_Front(Head);
string code,name,sex,post,department;
unsigned short int year;
unsigned int wage;
if(ptr-Next)
{
cout"-------你现在可以修改此职工的信息高校教职工管理系统项目源码了-------"endl;
//数据域。
cout"请输入职工代码:";
cincode;
coutendl"请输入职工姓名:";
cinname;
coutendl"请输入职工出生年份:";
cinyear;
while(cin.fail())
{
cout"请输入正确的年份格式。"endl;
cin.clear();
fflush(stdin);
cinyear;
}
coutendl"请输入职工性别:";
cinsex;
coutendl"请输入职工职称:";
cinpost;
coutendl"请输入职工部门:";
cindepartment;
coutendl"请输入职工工资:";
cinwage;
while(cin.fail())
{
cout"请输入正确的工资数据。"endl;
cin.clear();
fflush(stdin);
cinwage;
}
coutendl;
ptr-Next-m_Code=code;//因ptr是前趋节点,所以要用ptr-Next;
ptr-Next-m_Name=name;
ptr-Next-m_Year=year;
ptr-Next-m_Sex=sex;
ptr-Next-m_Post=post;
ptr-Next-m_Department=department;
ptr-Next-m_Wage=wage;
}
cout"没找到此职工的记录,无法修改。"endl;
return Head;
}
Link Del(Link Head)
{
Link ptr;
Link ptr_front;
ptr_front=Search_Unique_Front(Head);
ptr=ptr_front-Next;
if(ptr)
{
ptr_front-Next=ptr-Next;
delete ptr;//删除此节点。
}
cout"没找到此职工的记录,无法删除。"endl;
return Head;
}
void Save_ByFile(Link Head,fstream ofile)
{
Link pNode;
pNode=Head-Next;
ofile.clear();//清除文件结束状态。
while(pNode)
{
ofilesetw(10)leftpNode-m_Code
setw(10)leftpNode-m_Name
setw(10)leftpNode-m_Year
setw(10)leftpNode-m_Sex
setw(10)leftpNode-m_Post
setw(10)leftpNode-m_Department
setw(10)leftpNode-m_Wageendl;//setw(10)表示占10个字符位置。
pNode=pNode-Next;
}
cout"数据文件保存成功!"endl;
}
Link Sort(Link Head)
{//我创建的是带头节点的链表。用直接插入法。
if((Head-Next==NULL)||(Head-Next-Next==NULL))//此步条件判断非常有价值。
{
cout"数据节点数少于2个,不用排序!"endl;
return Head;
}
//-----------第二步;
Link ptr;
Link ptr_F;
Link ptr_N;
ptr=Head-Next-Next;
ptr_F=Head;
Head-Next-Next=NULL;//到此,分成了两个链表。
//第三步。
while(ptr)
{
ptr_N=ptr-Next;
ptr_F=Head;//ptr_F的归位。
while(ptr_F-Next)
{
if(ptr-m_Wageptr_F-Next-m_Wage)
{
ptr-Next=ptr_F-Next;
ptr_F-Next=ptr;
break;
}//if
else
{
ptr_F=ptr_F-Next;
}
}//while(ptr_F-Next)
if(ptr_F-Next==NULL)
{
ptr-Next=ptr_F-Next;
ptr_F-Next=ptr;//表示插到有序链表的最后面了。
}
ptr=ptr_N;//归位,准备下一次排序。
}//while(ptr)
cout"从高到低,排序成功!"endl;
return Head;
}
int main()
{
Link Head=0;
Head=Create(Head);
fstream iofile;
iofile.open("d:\\iofile.txt",ios_base::in|ios_base::out|ios_base::app);//文件以三种方式打开。
if(!iofile)
{
cout"打开文件失败!"endl;
return -1;
}
int menu;
while(1)
{
cout"*****************************************************"endl;
cout"*====================菜单选顶=======================*"endl;
cout"*===================================================*"endl;
cout"* 1.注册职工 2.修改信息 3.删除信息 4.信息查询 *"endl;
cout"* 5.保存文件 6.工资排行 7.信息显示 0.退出系统 *"endl;
cout"*****************************************************"endl;
coutendl"请选择相应操作菜单项:";
cinmenu;
while(cin.fail())
{
cout"请选择正确的菜单选项。"endl;
cin.clear();
fflush(stdin);
cinmenu;
}
switch(menu)
{
case 0:
cout"成功退出系统!"endl;
return 0;
case 1:
Head=Add(Head);
break;
case 2:
Head=Modify(Head);
break;
case 3:
Head=Del(Head);
break;
case 4:
Search(Head);
break;
case 5:
Save_ByFile(Head,iofile);
break;
case 6:
Sort(Head);
break;
case 7:
Display_List(Head);
break;
default:
cout"请选择正确的菜单项进行操作。多谢合作!"endl;
}
}
Release(Head);
iofile.close();
return 0;
}
学校人事管理系统源代码,c语言编的
ASP.NET《人事管理系统》用户手册 网站编程
ASP.NET《人事管理系统》需求分析说明书 网站编程
ASP.NET《人事管理系统》数据库设计说明书
郑州高校联盟 里面有 我就是在那下载的 可以用的