/* 职称结构 */
struct Worker_t {
uint32_t ID;// 职工号
const char* name;// 姓名
uint16_tjob;// 职务
uint16_ttitle;// 职称
};
/* 职务 */
enum {
JOB_Teacher,// 教员
JOB_Director,// 室主任
JOB_Dean,// 系主任
JOB_Headmaster,// 校长
JOB_CNT// 职务数量
};
/* 职务名称 */
static const char* job_names[JOB_CNT] = {
"教员", "室主任", "系主任", "校长"
};
/* 职称 */
enum {
TITLE_Lecturer,// 讲师
TITLE_ASProfessor,// 副教授
TITLE_Professor,// 教授
TITLE_CNT// 职称数量
};
/* 职称名 */
static const char* title_names[TITLE_CNT] = {
"讲师", "副教授", "教授"
};
/**
* 对于需求1,通过职务来判定领导被领导情况。
* 创建一个一维JOB_CNT-1长度的数组。数组的
* 每一个元素是一个链表结构。然后从最大的职务
* 倒叙循环扫描数据文件中职务刚好权重比当下
* 职务小1的职务,插入该索引对应的链表。
* 例如JOB_Headmaster,扫描出JOB_Dean,将员工的
* 职工号插入数组对应位置的链表中
* 最后将链表写入文件。
* 文件的格式如下:
* uint32_t 的数据表示领导了多少个职工,然后依次写入n个uint32_t的职工号
* ...循环写完数组的所有元素即可
*/
/**
* 对于需求2, 可以为每一种职称创建单独的索引文件。
* 创建TITLE_CNT长度的一维数组,每个数组元素是一个链表
* 扫描数据文件,将每个员工对应职称的员工号写入添加到
* 对应职称的数组链表中
* 文件格式如下:
* uint32_t 该职称的职工个数,然后依次写入n个uint32_t 职工号即可
*/
struct Worker_t {
uint32_t ID;// 职工号
const char* name;// 姓名
uint16_tjob;// 职务
uint16_ttitle;// 职称
};
/* 职务 */
enum {
JOB_Teacher,// 教员
JOB_Director,// 室主任
JOB_Dean,// 系主任
JOB_Headmaster,// 校长
JOB_CNT// 职务数量
};
/* 职务名称 */
static const char* job_names[JOB_CNT] = {
"教员", "室主任", "系主任", "校长"
};
/* 职称 */
enum {
TITLE_Lecturer,// 讲师
TITLE_ASProfessor,// 副教授
TITLE_Professor,// 教授
TITLE_CNT// 职称数量
};
/* 职称名 */
static const char* title_names[TITLE_CNT] = {
"讲师", "副教授", "教授"
};
/**
* 对于需求1,通过职务来判定领导被领导情况。
* 创建一个一维JOB_CNT-1长度的数组。数组的
* 每一个元素是一个链表结构。然后从最大的职务
* 倒叙循环扫描数据文件中职务刚好权重比当下
* 职务小1的职务,插入该索引对应的链表。
* 例如JOB_Headmaster,扫描出JOB_Dean,将员工的
* 职工号插入数组对应位置的链表中
* 最后将链表写入文件。
* 文件的格式如下:
* uint32_t 的数据表示领导了多少个职工,然后依次写入n个uint32_t的职工号
* ...循环写完数组的所有元素即可
*/
/**
* 对于需求2, 可以为每一种职称创建单独的索引文件。
* 创建TITLE_CNT长度的一维数组,每个数组元素是一个链表
* 扫描数据文件,将每个员工对应职称的员工号写入添加到
* 对应职称的数组链表中
* 文件格式如下:
* uint32_t 该职称的职工个数,然后依次写入n个uint32_t 职工号即可
*/