第一范文网 - 专业文章范例文档资料分享平台

C语言人事管理

来源:用户分享 时间:2025/7/10 15:53:34 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

题目:

某高校主要人员有:在职人员(行政人员,教师,一般员工),退休人员和临时工。现在需要存储这些人员的人事档案信息,内容包括变好,姓名,性别,年龄,职务,职称,政治面貌,最高学历,任职时间,来院时间,人员类别。其中人员编号唯一,不能重复。

(1) 添加删除功能:能根据学院人事的变动情况,添加删除记录

(2) 查询功能: 能根据编号和姓名进行查询

(3) 编辑功能(高级): 根据查询对相应的记录进行修改并存储

(4) 统计功能: 能根据多种参数进行人员的统计(在职人员,党员人数,女工人数,高学历高学历人员(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息。

(5) 排序功能: 按照年龄,来院时间进行排序。 (6) 保存功能: 能对输入的数据进行相应的存储。

1 / 20

程序代码:

#include /*根据实际存放位置修改此路径*/ /*初始化双链表*/ void init() {

First=(TEACHER *)malloc(sizeof(TEACHER)); /*为头结点申请空间*/

Last=First; /*将尾指针指向头结点*/

First->prior=Last; /*设置头结点的前驱指针*/ Last->next=First; /*设置头结点的后继指针*/ p=First; /*设置当前记录指针为头结点*/ }

/*创建教师信息循环双链表*/

2 / 20

void create() {

int unit,flag=0; float temp;

TEACHER *info; /*新增结点*/ init(); for(;;) {

if(flag==1)break; /*标志为1,不再输入*/ clrscr(); /*清屏*/

printf(\ printf(\

info=(TEACHER *)malloc(sizeof(TEACHER));/*为新增结点申请空间*/

if(!info) /*没有空间出错处理*/ {

printf(\ exit(0); }

3 / 20

printf(\开始提示输入*/ scanf(\

if(info->no[0]=='@')/*输入@结束输入*/ {

flag=1;break;} printf(\

scanf(\ printf(\

scanf(\ printf(\

scanf(\ printf(\

scanf(\ printf(\

scanf(\ printf(\ scanf(\ info->workload=temp;

if(strcmp(info->profess,\4 / 20

教授*/

if(strcmp(info->profess,\副教授*/

if(strcmp(info->profess,\讲师*/ if(strcmp(info->profess,\助教*/ info->lessonf=unit*info->workload;/*根据职称计算代课费*/

info->next=Last->next;/*新插入结点插在表末尾*/ info->prior=Last; /*新结点的前驱为原来的尾结点*/ Last->next=info; /*原来尾结点的后继为新结点*/ Last=info; /*新的尾结点为新结点*/

First->prior=Last;/*头结点的前驱为尾指针*/ } return; }

/*显示第一条记录*/ void firstr() {

if(First==Last)return; clear();

5 / 20

搜索更多关于: C语言人事管理 的文档
C语言人事管理.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4q3ge5hmo792i2p9mey92mdyx423a401cby_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top