员工信息管理系统数据结构

合集下载

人事管理系统设计—数据库原理与应用

人事管理系统设计—数据库原理与应用

人事管理系统设计—数据库原理与应用课程设计报告课程设计名称:数据库原理与应用系部:二系学生姓名:**班级:10信息与计算科学学号:***********成绩:指导教师:**开课时间:2012-20一三学年 1 学期一.设计题目:人事管理系统二.要紧内容:人事管理系统要紧是针对企业单位内部组织结构与员工信息的管理,本系统的要紧功能为:员工信息管理,部门信息管理,系统用户管理,故我们需要实现如下功能的建设:1)员工信息管理:每个部门的员工各类信息的添加,修改,删除,包含员工的基本信息、学历信息、职称等信息,与查看符合各类条件的员工部分与总体信息;2)部门信息管理:查看部门信息,包含部门编号、部门名称、部门经理、部门简介等信息;具有更新部门的功能。

3)系统用户管理:查看系统用户信息,包含用户名与用户类型(系统管理员与普通用户)等信息;三.具体要求1.课程设计的内容独立自主完成,课程设计报告内容完整、格式规范、排版整洁美观;2.后台数据库使用MS SQL SERVER 2005,前台界面语言不限,编写的程序代码,须有较全面的注释说明;四.进度安排课程设计安排:16周星期一讲解课程设计的内容,安排每一天的具体任务,分配并熟悉题目;星期二需求分析:给出系统的功能需求、性能需求,并绘制DFD与DD;星期三概念结构设计:绘制实体属性图(可选),局部ER图与全局ER图;星期四逻辑结构设计:转换、优化;星期五逻辑结构设计:外模式设计17周星期一物理结构设计及数据库实施;星期二应用程序编制调试、整理课程设计报告;星期三应用程序编制调试、整理课程设计报告,并检查;星期四根据反馈结果修改课程设计报告;星期五课程设计答辩,交材料;上交的材料:课程设计的电子稿、打印稿、源码(SQL代码与程序代码)五.成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。

考核内容:学习态度(出勤情况,平常表现等)、方案合理性、各阶段的图表与程序编制质量、设计报告质量。

《员工信息管理系统》详细设计说明书.1.doc

《员工信息管理系统》详细设计说明书.1.doc

《员工信息管理系统》详细设计说明书.1 《员工信息管理系统详细设计说明书》一、引言1.1编写目的根据需求规格说明书、概要设计说明书,在仔细考虑讨论之后,我们对员工信息管理系统软件功能的划分、数据结构、软件总体结构的实现有了进一步的想法。

本说明书的预期读者是与员工信息管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。

1.2背景利用先进的管理手段,提高人事信息的管理水平,是每一现代公司所面临的重要课题。

为了解决这一重要课题,就必须有一套科学,高效,严密,实用的人事信息管理系统。

现代公司的人事信息管理都是在计算机上实现的,采用现代计算机管理系统来进行管理,提供规范,统一的服务,它在管理系统中的应用不仅可以简化,规范各机构的日常操作,而且可以使企业人事信息管理更加方便,简单,快捷,清晰,从而减轻工作人员的劳动强度,减少企业的财政消耗。

1.3定义SQL Server:所用的数据库管理系统VS 2010:所用的开发软件二、程序(一)设计说明2.1程序描述主模块2.2功能建立与数据库连接获取系统设置能够跳转至子模块:登陆、注册等模块。

2.3输入、输出项用户鼠标点击登陆、注册按钮跳转至相应模块界面2.5流程逻辑选择项登陆系统注册系统查询系统管理系统2.6界面设计2.7功能实现方法'跳转登陆页面Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs) HandleslbtnLogin.ClickIf Request.Cookies("UserName") Is Nothing ThenResponse.Redirect("Login.aspx")ElsePage.ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('您已成功登陆);")End IfEnd Sub'跳转注册页面Protected Sub lbtnRegister_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lbtnRegister.ClickResponse.Redirect("Register.aspx")End Sub三、程序(二)设计说明3.1程序描述登陆模块3.2功能实现管理员账号登陆,以便继续后面操作3.3输人项输入:管理员账号、密码。

基于BS模式的员工信息管理系统_毕业设计论文

基于BS模式的员工信息管理系统_毕业设计论文

学院本科毕业设计(论文)题目基于B/S模式的员工信息管理系统计算机科学与工程院(系)计算机科学与技术专业摘要本系统采用的是B/S开发模式,开发环境采用Microsoft Visual Studio 2005,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一功能方便而简洁操纵数据库的智能化对象,对于数据库采用SQL Server2005,它的功能一体化,高度非过程化,语言简洁,易学易用,统一的语法结构对待不同的工作方式,还有面向集合的操作方式,再加上视图数据结构,使最终用户和程序设计人员之间的通信得到很大的改善,高度的数据独立性和安全性。

关键词:员工信息管理;B/S模式;SQL Server2005AbstractThis system USES is B/S mode, the development environment using Microsoft Visual Studio, using its 2005 of object-oriented development tools, especially data window this function is concise and manipulation of data objects, for using intelligent Server2005 SQL database, its function integration, the process, concise and easy to use, language syntax structure of unified treat way of working, and facing the operation mode, the collection of data structures, plus the view that end users and software design of communication between the personnel have greatly improved, the height data independence and security.Key words:Personnel management;B/S mode;Server2005 SQL目录第1章绪论 (1)1.1 问题的提出 (1)1.2 管理信息系统的发展历史 (1)1.3 公司员工信息管理系统的作用 (3)1.4 公司员工信息管理信息系统发展现状 (3)1.5 国内公司员工信息管理系统存在的问题 (4)第2章可行性分析 (5)2.1业务流程图 (5)2.2经济可行性 (5)2.3技术可行性 (6)2.4 行可行性 (8)2.5 时间可行性 (8)2.6 律可行性 (8)2.7 章小结 (8)第3章需求分析 (9)3.1系统需求 (9)3.1.1数据流图 (10)3.1.2数据字典 (10)3.2 性能需求 (14)3.3 应用需求分析 (15)3.4 运行需求分析 (15)3.5 其他需求分析 (15)3.6本章小结 (15)第4章系统设计 (16)4.1 主要内容 (16)4.2 总体功能需求 (16)4.3 数据库设计 (17)4.3.1 数据库设计概述 (17)4.3.2 数据分析 (17)4.3.3 数据库详细设计 (17)4.4 具体系统功能需求描述 (23)4.4.1 员工基本情况管理 (23)4.4.2 员工信息查询 (23)4.4.3 系统维护 (23)4.5本章小结 (23)第5章详细设计 (24)5.1系统开发及运行平台设置 (24)5.1.1 硬件环境 (24)5.1.2 软件环境 (24)5.2 开发工具简介 (25)5.2.1 简介 (25)5.2.2 SQL Server简介 (26)5.3系统主界面设计 (26)5.4基本功能设置 (27)5.4.1员工信息管理 (27)5.4.2部门管理 (29)5.4.3考勤管理 (30)5.4.4员工工资管理 (31)5.4.5查询管理 (33)5.4.6系统管理 (34)5.5 本章小结 (36)第6章系统调试与测试 (37)6.1 程序调试 (37)6.2 程序的测试 (37)6.2.1 测试的重要性及目的 (37)6.2.2 测试的步骤 (38)6.2.3 测试的主要内容 (38)6.2.4测试的执行情况 (39)6.3本章小结 (43)结束语 (44)致谢 (45)参考文献 (46)附录1 (47)附录2 (52)学院2012届本科生毕业设计(论文)第1章绪论1.1 问题的提出公司员工信息管理系统是一个公司单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以公司员工信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。

人员信息管理 数据库表设计

人员信息管理 数据库表设计

人员信息管理数据库表设计
人员信息管理数据库表设计需要根据具体需求进行设计。

一般来说,人员信息管理系统需要存储以下信息:
1.基本信息:姓名、性别、出生日期、身份证号、联系方式、家庭住址等。

2.工作信息:职位、部门、入职日期、离职日期等。

3.教育信息:学历、学校、专业、毕业日期等。

4.技能信息:技能名称、技能等级等。

5.奖惩信息:奖励名称、奖励日期、奖励等级等。

根据这些信息,可以设计以下数据库表:
人员表
●人员编号:唯一标识人员的编号。

●姓名:人员的姓名。

●性别:人员的性别。

●出生日期:人员的出生日期。

●身份证号:人员的身份证号。

●联系方式:人员的联系方式。

●家庭住址:人员的家庭住址。

工作表
●人员编号:人员的编号。

●职位:人员的职位。

●部门:人员所属的部门。

●入职日期:人员入职的日期。

●离职日期:人员离职的日期。

教育表
●人员编号:人员的编号。

●学历:人员的学历。

●学校:人员毕业的学校。

●专业:人员的专业。

●毕业日期:人员毕业的日期。

技能表
●人员编号:人员的编号。

●技能名称:技能的名称。

●技能等级:技能的等级。

奖惩表
●人员编号:人员的编号。

●奖励名称:奖励的名称。

●奖励日期:奖励的日期。

●奖励等级:奖励的等级。

企业员工信息管理系统毕业设计

企业员工信息管理系统毕业设计

企业员工信息管理系统毕业设计学号毕业设计(论文)企业员工信息管理系统设计毕业设计(论文)任务书毕业设计(论文)开题报告注:1. 开题报告应根据教师下发的毕业设计(论文)任务书,在教师的指导下由学生独立撰写,在毕业设计开始后三周内完成;2.设计的目的及意义至少800字,基本内容和技术方案至少400字;3.指导教师意见应从选题的理论或实际价值出发,阐述学生利用的知识、原理、建立的模型正确与否、学生的论证充分否、学生能否完成课题,达到预期的目标。

郑重声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。

本人完全意识到本声明的法律后果由本人承担。

本人签名:日期:目录摘要 (I)ABSTRACT (II)1 绪论 (1)1.1 研究背景 (1)1.2 本课题研究现状 (1)2 企业信息管理系统分析 (3)2.1需求分析 (3)2.2 技术可行性 (4)2.3 环境可行性分析 (5)2.4 系统结构可行性分析 (6)3 企业信息管理系统设计 (9)3.1 数据库设计 (9)3.2 系统功能模块详细设计 (13)4 系统实现 (18)4.1 用户操作文件总体架构 (18)4.2 技术难点 (28)5 系统测试 (29)5.1 界面测试 (29)5.2 功能测试 (29)5.3 需求测试 (30)5.4 性能测试 (30)5.5 企业员工信息管理系统的测试 (30)总结 (31)参考文献 (32)致谢 (33)摘要在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。

考虑到当前大量企业的企业员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。

因此根据部分企业提供的需求,设计此企业企业员工管理系统,以帮助企业达到企业员工管理办公自动化、节约管理成本、提高企业工作效率的目的。

人事管理系统(数据库课程设计)

人事管理系统(数据库课程设计)

人事管理系统08网络工程1班张宁目录1 系统概述····················2 系统数据流程图和数据字典············2。

1 用户需求调查················2.2 系统数据流程图················2。

3 系统数据字典················3 数据库结构设计·················3。

1 概念结构设计················3.2 逻辑结构设计·················3。

员工管理系统实验报告

员工管理系统实验报告

一、实验目的1. 熟练掌握C语言编程技能,提高编程能力。

2. 理解并应用结构体、数组、链表等数据结构。

3. 学会使用文件操作,实现数据的持久化存储。

4. 设计并实现一个员工管理系统,提高实际编程能力。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 语言:C语言三、实验内容员工管理系统主要包括以下功能:1. 数据录入:录入员工信息,包括姓名、工号、性别、出生年月、部门、职位、联系方式等。

2. 数据显示:显示所有员工信息。

3. 数据查找:按工号或姓名查找员工信息。

4. 数据修改:修改指定员工的个人信息。

5. 数据删除:删除指定员工的个人信息。

6. 数据排序:按工号、姓名、部门等字段对员工信息进行排序。

四、实验步骤1. 创建员工结构体```c#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_NAME_LEN 50#define MAX_DEPT_LEN 50typedef struct {int id; // 员工工号char name[MAX_NAME_LEN]; // 员工姓名char gender; // 性别('M'、'F')char birth[11]; // 出生日期("YYYY-MM-DD") char dept[MAX_DEPT_LEN]; // 部门char position[MAX_NAME_LEN]; // 职位char contact[MAX_NAME_LEN]; // 联系方式} Employee;```2. 创建员工信息文件```cvoid createFile() {FILE fp = fopen("employee.dat", "wb");if (fp == NULL) {printf("创建文件失败!\n");exit(1);}fclose(fp);}```3. 数据录入```cvoid inputEmployee(Employee e) {printf("请输入员工工号:");scanf("%d", &e->id);printf("请输入员工姓名:");scanf("%s", e->name);printf("请输入性别(M/F):");scanf(" %c", &e->gender);printf("请输入出生日期(YYYY-MM-DD):"); scanf("%s", e->birth);printf("请输入部门:");scanf("%s", e->dept);printf("请输入职位:");scanf("%s", e->position);printf("请输入联系方式:");scanf("%s", e->contact);}```4. 数据显示```cvoid displayEmployee(Employee e) {printf("工号:%d\n", e->id);printf("姓名:%s\n", e->name);printf("性别:%c\n", e->gender);printf("出生日期:%s\n", e->birth);printf("部门:%s\n", e->dept);printf("职位:%s\n", e->position);printf("联系方式:%s\n", e->contact);}```5. 数据查找```cvoid searchEmployee(Employee e) {int id;printf("请输入要查找的员工工号:");scanf("%d", &id);FILE fp = fopen("employee.dat", "rb");if (fp == NULL) {printf("文件打开失败!\n");exit(1);}while (fread(e, sizeof(Employee), 1, fp) == 1) { if (e->id == id) {displayEmployee(e);break;}}fclose(fp);}```6. 数据修改```cvoid modifyEmployee(Employee e) {int id;printf("请输入要修改的员工工号:");scanf("%d", &id);FILE fp = fopen("employee.dat", "rb+");if (fp == NULL) {printf("文件打开失败!\n");exit(1);}while (fread(e, sizeof(Employee), 1, fp) == 1) { if (e->id == id) {displayEmployee(e);printf("请输入新的员工姓名:");scanf("%s", e->name);printf("请输入新的性别(M/F):");scanf(" %c", &e->gender);printf("请输入新的出生日期(YYYY-MM-DD):"); scanf("%s", e->birth);printf("请输入新的部门:");scanf("%s", e->dept);printf("请输入新的职位:");scanf("%s", e->position);printf("请输入新的联系方式:");scanf("%s", e->contact);fseek(fp, -sizeof(Employee), SEEK_CUR);fwrite(e, sizeof(Employee), 1, fp);break;}}fclose(fp);}```7. 数据删除```cvoid deleteEmployee(Employee e) {int id;printf("请输入要删除的员工工号:");scanf("%d", &id);FILE fp = fopen("employee.dat", "rb+");if (fp == NULL) {printf("文件打开失败!\n");exit(1);}Employee temp;int flag = 0;while (fread(e, sizeof(Employee), 1, fp) == 1) { if (e->id == id) {flag = 1;break;}}if (flag) {fseek(fp, -sizeof(Employee), SEEK_CUR);fread(&temp, sizeof(Employee), 1, fp);fwrite(&temp, sizeof(Employee), 1, fp);printf("删除成功!\n");} else {printf("未找到指定员工!\n");}fclose(fp);}```8. 数据排序```cvoid sortEmployee(Employee e, int (cmp)(const void , const void )) { qsort(e, 10, sizeof(Employee), cmp);}```9. 主函数```cint main() {Employee e;createFile();while (1) {printf("1. 数据录入\n");printf("2. 数据显示\n");printf("3. 数据查找\n");printf("4. 数据修改\n");printf("5. 数据删除\n");printf("6. 数据排序\n");printf("0. 退出\n");printf("请选择操作:");int choice;scanf("%d", &choice);switch (choice) {inputEmployee(&e);break;case 2:// 假设已经有10个员工信息for (int i = 0; i < 10; i++) { displayEmployee(&e);}break;case 3:searchEmployee(&e);break;case 4:modifyEmployee(&e);break;case 5:deleteEmployee(&e);break;case 6:sortEmployee(&e, cmpById);break;case 0:return 0;printf("无效的选项!\n");}}return 0;}```五、实验总结通过本次实验,我们学习了C语言编程的基本技能,掌握了结构体、数组、链表等数据结构,以及文件操作。

数据结构员工管理系统

数据结构员工管理系统

数据结构员工管理系统正文:1.引言本文档旨在设计一个数据结构员工管理系统,用于管理公司内部的员工信息。

该系统将实现员工的基本信息维护、部门管理、工资管理、考勤管理等功能,以提高员工管理的效率和准确性。

2.系统概述2.1 系统目标员工管理系统的目标是简化公司内部的员工管理流程,提供一个可靠、高效的方式来记录和查询员工的信息、工资、考勤等。

2.2 主要功能- 员工信息维护:包括员工的基本信息(姓名、性别、年龄、联系方式等)、入职和离职信息、职位信息等。

- 部门管理:包括部门的创建、修改、删除,以及部门人员的调动和查询。

- 工资管理:包括员工的薪资设置、薪资发放记录、薪资查询等。

- 考勤管理:包括员工的考勤打卡记录、请假记录、加班记录等。

3.系统设计3.1 数据结构设计3.1.1 员工信息表员工信息表存储员工的基本信息,包括员工ID、姓名、性别、年龄、联系方式等字段。

3.1.2 部门表部门表存储部门的信息,包括部门ID、部门名称、部门描述等字段。

3.1.3 工资表工资表存储员工的工资信息,包括员工ID、基本工资、奖金、扣款等字段。

3.1.4 考勤表考勤表存储员工的考勤记录,包括员工ID、打卡时间、请假记录、加班记录等字段。

3.2 模块设计3.2.1 员工信息管理模块该模块实现对员工信息的增删改查功能,包括员工基本信息的维护、员工入职和离职操作等。

3.2.2 部门管理模块该模块实现对部门信息的增删改查功能,包括部门的创建、修改、删除,以及部门人员的调动和查询等操作。

3.2.3 工资管理模块该模块实现对员工工资信息的设置和查询功能,包括薪资设置、薪资发放记录的查询等操作。

3.2.4 考勤管理模块该模块实现对员工考勤信息的记录和查询功能,包括考勤打卡记录、请假记录、加班记录的记录和查询等操作。

4.系统实施4.1 开发环境本系统开发环境为Java语言,使用Eclipse开发工具,数据库使用MySQL。

4.2 系统架构本系统采用三层架构,分为表现层、业务逻辑层和数据访问层。

员工管理系统 数据结构

员工管理系统 数据结构

员工管理系统数据结构一、引言员工管理系统是一个用于管理和跟踪员工信息的软件系统。

它使用数据结构来存储和组织员工的相关数据,包括个人信息、工作经历、薪资、考勤记录等。

本文将详细介绍员工管理系统的数据结构设计和实现。

二、数据结构设计1. 员工信息员工信息是员工管理系统的核心数据之一,包含以下字段:- 员工ID:每一个员工在系统中的惟一标识符。

- 姓名:员工的姓名。

- 性别:员工的性别。

- 出生日期:员工的出生日期。

- 联系方式:员工的联系方式,如手机号码或者电子邮件地址。

- 部门:员工所属的部门。

- 职位:员工的职位。

- 入职日期:员工的入职日期。

为了高效地存储和检索员工信息,可以使用以下数据结构:- 哈希表:将员工ID作为键,员工信息作为值,用于快速查找和更新员工信息。

- 链表:用于处理哈希表中的冲突,当发生冲突时,将冲突的员工信息链接到同一哈希桶中。

2. 工作经历工作经历是记录员工在不同公司的工作经历的数据,包含以下字段:- 公司名称:员工曾经工作的公司名称。

- 职位:员工在该公司的职位。

- 入职日期:员工在该公司的入职日期。

- 离职日期:员工在该公司的离职日期。

为了存储员工的工作经历,可以使用以下数据结构:- 数组:用于存储员工的多个工作经历记录。

3. 薪资薪资是记录员工薪资信息的数据,包含以下字段:- 基本工资:员工的基本工资。

- 奖金:员工的奖金。

- 补贴:员工的补贴。

- 扣款:员工的扣款。

- 实际工资:员工的实际工资。

为了存储员工的薪资信息,可以使用以下数据结构:- 树状数组:用于高效地计算员工的实际工资,支持快速的更新和查询操作。

4. 考勤记录考勤记录是记录员工出勤情况的数据,包含以下字段:- 日期:考勤记录的日期。

- 上班时间:员工的上班时间。

- 下班时间:员工的下班时间。

- 考勤结果:员工的考勤结果,如正常、迟到、早退、缺勤等。

为了存储员工的考勤记录,可以使用以下数据结构:- 链表:用于按照日期顺序存储员工的考勤记录。

某单位人事管理系统

某单位人事管理系统

《数据库系统》课程实践任务报告任务名称;某单位人事管理系统班级: 2023计科本学号:*名:**学号:*名:**完毕日期: 2023年6月30日信息工程学院计算机系任务名称1.任务的描述人事管理系统是非常通用的管理信息系统,是企事业单位实现办公自动化的前提和基础。

一个公司要正常运作必然有一个健全的人事管理系统,来管理员工的信息,涉及员工编号、姓名、性别、民族工资及奖惩考勤情况。

除此之外,系统还供员工查询个人和公共信息,管理员对员工信息进行更改或删除,管理公司的人事变更和管理,大大提高公司内部员工管理的工作效率,并规定实现以下功能。

1.员工信息管理:实现记录在该单位中所有人员的在该单位的员工信息,实现对员工信息的管理,也涉及对员工信息的增长、删除、修改等功能。

2.部门信息管理:实现对该单位中的各个部门的编号、部门相关信息的记录,此时也将单位中的所有人员进行分类管理。

3.职位调动管理:实现当员工的就职信息发生更改的时候,系统进行相应关联信息的更改,即增长相应的修改信息的同时,员工的信息管理中的相应信息进行修改。

4.系统管理人员信息管理:实现对相应的系统管理人员的帐号、密码等基本信息的管理功能。

5.出勤信息管理:实现对每一位员工的出勤状况的记录,记录相应的出勤刷卡机号以及出勤时间的信息管理。

6.奖惩管理:实现针对于不同的奖惩类型、奖惩金额等信息的管理,实现输入奖惩信息的修改相应的工资信息。

7.工资管理:实现各个员工工资条目信息的管理。

2.需求分析本系统重要涉及的外部实体有:员工、部门、员工职位调动等,要实现的功能重要有:员工、部门、员工职位调动、管理人员信息管理、出勤信息、工资、奖惩等信息管理。

2.1 系统包含的实体1、员工(员工编号,姓名,性别,出生日期,学历,身份证号,民族,职称,部门号,职务)2、个人经历(年份,员工编号,学习经历,任职经历)3、家庭关系(关系编号,员工编号,亲属关系,亲属姓名)4、管理人员(管理员帐号,职工编号,密码,级别)5、出勤(出勤号,员工编号,上班日期,上班时间,下班时间,刷卡机号)6、刷卡机(刷卡机号)7、部门(部门号,部门名,领导人员,员工人数)8、职位调动(调动编号,员工编号,调动前职务,调动后职务,调动前部门号,调动后部门号,调动日期,批复日期,调动因素)9、奖惩记录(奖惩编号,员工编号,奖惩类型,奖惩金额,奖惩日期,批复部门号,批复日期,奖惩因素)10、请假记录(请假编号,员工编号,请假时间,销假时间,请假天数,审批人编号)11、工资(工资编号,员工编号,基本工资,罚款,奖金,结算工资,起始日期,截止日期,发信日期)2.2 系统包含的实体间联系根据“任务描述”中提供某单位人事管理系统信息的实际情况,本系统中实体之间应具有如下的联系:属于部门:部门fi员工,包含属性。

数据字典编写例题

数据字典编写例题

数据字典编写例题题目:某公司员工信息管理系统数据字典一、数据项1. 员工编号:员工唯一标识符,采用数字表示。

2. 姓名:员工姓名,采用中文表示。

3. 性别:员工性别,采用文本表示。

4. 出生日期:员工出生日期,采用日期格式表示。

5. 部门编号:员工所在部门编号,采用数字表示。

6. 职位:员工职位,采用文本表示。

7. 工资:员工工资,采用数字表示。

8. 考勤记录:员工考勤记录,包括迟到、早退、请假等信息,采用文本或数字表示。

9. 奖惩记录:员工奖惩记录,包括奖励、惩罚等信息,采用文本或数字表示。

二、数据结构某公司员工信息管理系统主要包含以下数据结构:1. 员工信息表:用于存储员工的基本信息,包括员工编号、姓名、性别、出生日期、部门编号、职位、工资等。

2. 考勤记录表:用于存储员工的考勤记录,包括考勤时间、迟到次数、早退次数等。

3. 奖惩记录表:用于存储员工的奖惩记录,包括奖励等级、惩罚原因等。

三、数据流图某公司员工信息管理系统的主要数据流如下:1. 输入:员工信息(包括姓名、性别、出生日期等)、考勤记录、奖惩记录等。

2. 处理:将输入的员工信息存储到员工信息表中,将考勤记录和奖惩记录分别存储到考勤记录表和奖惩记录表中。

3. 输出:查询员工信息时,根据员工编号从员工信息表中提取相关信息;查询考勤记录时,根据员工编号从考勤记录表中提取相关信息;查询奖惩记录时,根据员工编号从奖惩记录表中提取相关信息。

四、系统流程描述1. 系统启动:系统启动后,首先进行初始化操作,将已有的员工信息、考勤记录和奖惩记录导入系统数据库中。

2. 用户输入:用户输入需要查询的员工信息(包括姓名、性别、出生日期等)和查询条件(如部门编号),系统将根据查询条件从数据库中提取相关信息并展示给用户。

3. 系统处理:系统根据用户输入的查询条件进行数据处理,并将查询结果展示给用户。

同时,系统还将根据用户输入的考勤和奖惩信息进行相应的更新操作。

CC语言实验总结与反思(通用3篇)

CC语言实验总结与反思(通用3篇)

CC语言实验总结与反思(通用3篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作报告、合同协议、心得体会、条据书信、规章制度、礼仪常识、自我介绍、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as work reports, contract agreements, personal experiences, normative letters, rules and regulations, etiquette knowledge, self introduction, teaching materials, complete essays, and other sample essays. If you want to learn about different sample formats and writing methods, please pay attention!CC语言实验总结与反思(通用3篇)C语言实验总结与反思(通用3篇)CC语言实验总结与反思篇1一、需求分析:1.需求概述设计一个员工信息管理系统,使其能够提供以下功能:(1)员工信息录入功能(2)员工信息浏览功能(3)职工信息删除功能(4)职工信息修改功能(5)员工信息查询功能2.需求说明(1)职工信息包括:职工号、姓名、性别、出生年份、学历职务、工资、住址、电话号码要求不重复。

员工人事信息管理系统

员工人事信息管理系统

第一章绪论1.1 研究的内容随着计算机和网络技术的广泛应用,人事档案管理已成为现代企业管理中必不可少的一部分.企业要发展必须要对人事方面做出更好的管理和控制,为适应现代企业制度管理的要求,实现企业劳动人事档案管理的科学化和规范化,以更好的促使企业的发展的需要,从而提出了企事业单位人事档案管理系统的开发的课题来对企业进行科学现代化的管理.1。

2 研究的软硬件环境企事业单位人事档案管理工作是一种繁琐,务求准确的信息检索工作.特别是在对在岗人员的调动,离退人员,工资发放,职称评定等信息的管理,具有典型的信息处理管理模式。

以PowerBuilder 为设计工具以更好的对软件进行开发与应用,达到提高企事业业单位人事档案管理信息系统的效果。

第二章系统需求分析2。

1 系统开发战略本系统开发主要采用自顶向下的开发方式,自顶向下的方法模型如下图所示::通过以上分析,企业职工管理系统有基础的信息管理模块,职工管理模块、备忘记录。

数据库模块组成。

2.2。

1 需求分析的任务需求分析的任务是通过详细的调查现实世界要处理的对象(组织、部门、企业等),充分了节原系统(手工系统或计算机系统)工作概况,明确公司的各种需求,然后再此基础之上确定新的功能。

调查的重点是“数据”和“处理”,通过调查收集与分析,获得企业对数据库如下要求: (1)信息要求。

指公司需要从数据库中获得信息的内容和性质.即需要在数据库当中存储哪些数据。

(2)处理要求。

指公司要完成什么样的处理功能,对处理的时间有什么要求,处理方式是批处理还是联机处理。

(3)安全性与完整性要求。

设计人员必须具备专业的知识,不断了解公司的需求需要。

了解公司,深入与公司人员进行交流,才能逐步满足公司的实际需求。

2.2。

2 需求分析的方法进行需求分析首先是调查清楚该公司的实际要求,与公司达成共识,然后分析和表达这些需求。

调查公司的具体步骤如下:(1)调查组织机构情况。

(2)调查个部门的业务状况(3)在熟悉业务的基础之上,协助用户明确对新系统的各种要求,包括信息要求、用户要求、安全性与完整性要求,这是调查的又一重点.(4)确定新系统的边界。

人事信息管理系统后台数据库设计(43页)

人事信息管理系统后台数据库设计(43页)

《数据库管理系统》课程设计报告题目:人事信息管理系统的后台数据库设计院(系):信息科学与工程学院专业班级:计算机科学与技术****班学生姓名:******学号:***********指导教师:陈颉20 13 年 1 月 7 日至20 13 年 1 月 18 日华中科技大学武昌分校制数据库管理系统课程设计任务书一、设计(调查报告/论文)题目人事信息管理系统的后台数据库设计二、设计(调查报告/论文)主要内容内容:完成人事信息的管理工作,实现各部门的信息化管理,满足员工与管理者的办公需求,例如员工查询信息、管理员修改信息等,要求设计并实现人事信息管理系统的后台数据库。

基本功能与要求:1.在人事管理过程中,实现信息的自动化管理。

2.实现各种信息的修改、插入、删除功能(对管理员而言)。

3.实现对各种信息的查询、统计,支持模糊查询(对员工和管理员均可)。

4.按照年份月份统计某个员工的出勤情况。

5.按照某年某月某日统计查询某部门的迟到和早退人数。

6.按年统计各部门的调入调出人数信息。

分工任务:1 需求分析2 数据库物理实现3系统后台功能测试三、原始资料1.《数据库管理系统课程设计》指导书2. 数据库系统设计课件四、要求的设计(调查/论文)成果1.课程设计报告2.课程设计作品五、进程安排序号课程设计内容学时分配备注1 选题、需求分析1天2 数据库设计2天3 数据库表及相关约束、视图实现2天4 数据库的存储过程、触发器实现2天5 数据库后台功能测试2天6 验收答辩、撰写课程设计报告1天合计10天六、主要参考资料[1] 顾兵.数据库技术与应用().北京:清华大学出版社,2010.[2] 马晓梅实验指导.第3版.北京:清华大学出版社,2009.[3] 范立南等2005实用教程.北京:清华大学出版社,2009.[4] 李丹2005数据库管理与开发.北京:机械工业出版社,2010.指导教师(签名):20 年月日目录1.需求分析 (1)1.1系统功能的基本要求 (1)1.2系统需求分析 (1)1.3 数据字典 (2)1.4 数据流图 (3)2.概念结构设计 (4)2.1 局部图 (4)2.2 全局图 (6)3.逻辑结构设计 (7)3.1 图向关系模式转换的原则 (7)3.2 根据图转换关系模式 (8)3.3 关系模式的优化 (8)4.物理结构设计 (9)4.1数据库文件的建立 (9)4.2数据表的建立 (9)4.3视图的建立 (11)4.4索引的建立 (11)4.5存储过程的建立 (12)4.6触发器的建立 (12)4.6约束的建立 (12)5.数据库的物理实现 (13)5.1数据库的建立 (13)5.2数据表的建立 (13)5.3视图的建立 (16)5.4索引的建立 (22)5.5存储过程的建立 (27)5.6触发器的建立 (29)5.7约束的建立 (30)6.系统后台功能测试 (34)7.总结 (37)1.需求分析开发数据库系统的第一步是进行需求分析,需求分析的好坏直接决定者系统能否真正满足用户的需要。

员工信息管理系统

员工信息管理系统

摘要企业员工信息管理是企业管理中的一个重要内容,随着时代的进步,企业人员数量也不断增加、分工的不断细化、各个行业间联系的不断密切,对人事管理的要求也不断提高.如何管理好企业内部员工的信息,对员工实施高效的宏观管理,对企事业单位的人员构成情况和发展趋势进行统计、规划、分析并制定切实可行的人事政策,是一项繁重而艰巨的任务。

本文以企业管理信息系统建设中的员工信息管理子系统的设计和实现为目标,利用软件工程中系统开发的原理和方法,详细论述了系统的设计方案、开发、测试等过程。

系统在Linux平台下,以Oracle10g为后台数据库管理系统,实现了以员工信息管理,考勤信息管理、工资管理及综合查询模块为主要功能的系统开发。

为企业人事管理提供信息咨询,信息检索,信息存取等服务,系统的实施基本上能够满足现代企业对人事管理的需要,为提高企业人事管理效率提供了行之有效的手段。

6第一章职工管理的背景借助现代信息技术和管理理论,建立员工管理信息系统是当今社会的重要趋势。

党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想.对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。

在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此职工管理是企业的计算机管理信息系统重要组成部分。

而职工管理又是人力资源管理的重中之重。

实行电子化的职工管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。

职工管理信息系统的实现可以减轻比较繁琐的手工职工管理。

现在应用在大中型企业的管理信息系统中,几乎都包括了职工管理模块.有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分.这些根据规范的西方的管理制度设计的职工管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,所以我们设计了一个简单的职工管理系统,为这些具有中国特色的中小企业解决他们在职工管理方面的问题。

人力资源管理信息系统的需求分析与设计研究

人力资源管理信息系统的需求分析与设计研究

人力资源管理信息系统的需求分析与设计研究一、引言人力资源是企业最重要的资本之一,而人力资源管理信息系统(HRMIS)则是现代企业高效管理人力资源的关键工具之一。

本文旨在对人力资源管理信息系统的需求进行分析与设计研究,以满足企业对人力资源管理的需求,提高管理效率和信息化水平。

二、需求分析1. 自动化招聘管理人力资源管理信息系统应具备招聘管理功能,包括发布职位需求、收集简历、筛选候选人、安排面试等环节的自动化处理。

系统需能够方便地管理招聘流程,提供可靠的数据支持,以快速找到合适的人才。

2. 员工信息管理系统需能够集中管理员工的基本信息、工作经历、职位变动、绩效评估等重要数据,实现对员工信息的全面追踪和统计分析。

此外,还需提供员工自助管理功能,员工能够自主查看和更新个人信息,提高信息交流效率。

3. 培训与发展管理人力资源管理信息系统应具备培训与发展管理功能,包括制定培训计划、安排培训课程、收集培训反馈等。

系统应能够统计培训效果,评估员工的学习进展,并提供个性化发展建议,以提高员工的综合素质和职业发展水平。

4. 薪酬福利管理系统需具备薪酬福利管理功能,包括工资、奖金、福利待遇等的设定与发放。

系统需能够自动计算工资、扣税等,提供薪资报表和个人工资明细,确保薪酬管理的公平和透明。

5. 绩效管理绩效管理是企业管理的重要环节之一,人力资源管理信息系统应具备绩效管理功能,包括设定绩效指标、制定绩效评估流程、进行绩效评估及结果反馈等。

系统需能够提供定制化的绩效报表和分析,帮助企业对员工绩效进行评估和调整。

6. 离职管理离职管理是人力资源管理的最后一环,人力资源管理信息系统需具备离职管理功能,包括离职流程管理、员工离职调查、人员变动统计等。

系统需能够帮助企业获取离职员工的反馈意见,提供对员工离职原因的分析和改善建议。

三、系统设计1. 数据结构设计根据需求分析,系统的数据结构应包括员工信息、岗位信息、课程信息、薪酬福利信息、绩效指标等多个模块,各模块之间需要建立相应的关联关系,以实现数据的全面展示和追踪。

工厂信息管理系统数据库设计

工厂信息管理系统数据库设计

工厂信息管理系统数据库设计一、需求分析(一)设计数据库工厂信息管理系统:(1)实体类:车间: 一个工厂有很多个车间, 每个车间有车间号、车间主任名、地址、电话。

工人: 一个车间有多个工人, 每个工人有职工号、姓名、年龄、性别和工种。

产品: 一个车间生产多钟产品, 产品有产品号, 价格。

零件:一个车间有多个零件, 一个零件也可以由多个车间制造。

零件有零件号、重量和价格。

仓库:产品与零件存入仓库中, 厂内有多个仓库, 仓库有仓库号、仓库保管员、姓名、电话。

(2)联系类:生产: 一个车间有多个零件, 一个零件也可以由多个车间制造。

组成:一个产品由多个零件组成, 一种零件也可装配多中产品内。

保管:产品与零件存入仓库中, 厂内有多个仓库。

(二) 调查(1)调查工厂信息管理机构情况, 涉及了解该组织的部门组成情况, 各部门的职责等, 为分析信息流程做准备。

(2)调查业务活动情况。

涉及了解各部门输入和使用什么数据, 如何加工解决这些数据, 输出什么信息, 输出到什么部门, 输出结果的格式是什么, 这是调查的重点。

(3)在熟悉了业务活动的基础上, 协助用户明确对新系统的各种规定, 涉及信息规定、解决规定、安全性与完整性规定。

(4)拟定新系统的边界。

对前面调查的结果进行初步分析, 拟定哪些功能由计算机完毕或将来准备让计算机完毕, 那些活动由人工完毕, 由计算机完毕的功能就是新系统应当实现的功能。

(三)需求分析的过程(四)数据字典1. 数据项数据项是不可再分的数据单位。

数据项, 以“零件号”为例:数据项: 零件号含义说明: 唯一标记每个零件类型: 字符型长度: 8取值范围: 00000000至99999999取值含义:前两位标别该零件的所属类别, 后六位按顺序编号2.数据结构数据结构反映了数据之间的组合关系。

一个数据结构可以由若干个数据项组成, 也可以由若干个数据结构组成, 或由若干个数据项和数据结构混合组成。

数据结构, 以“员工”为例数据结构: 员工含义说明: 定义了每个员工的有关信息组成: 职工号、姓名、年龄、性别和工种(3)数据流数据流是数据结构在系统内传输的途径。

人事(人力资源)管理信息系统课程设计报告

人事(人力资源)管理信息系统课程设计报告

目录1 引言 (1)2 系统调查与可行性研究 (3)2.1 初步调查 (3)2.2 可行性研究 (6)3 系统分析 (8)3.1 业务流程分析 (8)3.2 数据流程分析 (8)3.3 数据字典 (11)4 系统设计 (19)4.1 功能结构设计 (19)4.2 数据库设计 (19)4.3 代码设计 (28)4.4 输入输出设计 (29)4.5 系统配置设计 (30)5 结束语...............................................................38参考文献 (47)附录 (48)1 引言随着计算机技术的飞速发展,计算机在各种单位机构管理中应用的普及,管理信息系统的开发在强调管理、强调信息的现代社会中也显得越来越重要。

因此,利用计算机支持单位高效率地完成人事管理的日常事务,是适应现代各种单位机构制度要求、推动各种单位机构人事管理走向科学化、规范化的必要条件。

在当今的信息社会,随着信息的不断增长和企业对信息的要求,信息管理技术随之出现。

企业人事管理信息系统是一个现代化的企业在竞争中立于不败之地的必要部分,它能够为查询人事信息提供充足的信息和快捷的查询手段[1]。

一直以来使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,而且容易丢失。

自20世纪50年代将计算机引入数据处理以来,历经管理信息系统发展的各个阶段。

一方面是信息技术应用的迅猛发展,另一方面,许多管理信息系统在耗费了大量的人力、物力、财力之后夭折了,或者根本没有实现原系统的开发目标,而把计算机用作了打字机。

这是长期以来困惑人们的一大问题[2]。

现在人们日益深刻认识到,把信息技术应用与应用环境分离是办不到的。

管理信息系统根本不仅是技术系统,而且是社会系统。

使用计算机对企业人事信息进行管理,具有手工管理所无法比拟的优点。

员工信息管理系统

员工信息管理系统

摘要企业员工信息管理是企业管理中的一个重要内容,随着时代的进步,企业人员数量也不断增加、分工的不断细化、各个行业间联系的不断密切,对人事管理的要求也不断提高。

如何管理好企业内部员工的信息,对员工实施高效的宏观管理,对企事业单位的人员构成情况和发展趋势进行统计、规划、分析并制定切实可行的人事政策,是一项繁重而艰巨的任务。

本文以企业管理信息系统建设中的员工信息管理子系统的设计和实现为目标,利用软件工程中系统开发的原理和方法,详细论述了系统的设计方案、开发、测试等过程。

系统在Linux平台下,以Oracle10g为后台数据库管理系统,实现了以员工信息管理,考勤信息管理、工资管理及综合查询模块为主要功能的系统开发。

为企业人事管理提供信息咨询,信息检索,信息存取等服务,系统的实施基本上能够满足现代企业对人事管理的需要,为提高企业人事管理效率提供了行之有效的手段。

6第一章职工管理的背景借助现代信息技术和管理理论,建立员工管理信息系统是当今社会的重要趋势。

党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。

对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。

在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此职工管理是企业的计算机管理信息系统重要组成部分。

而职工管理又是人力资源管理的重中之重。

实行电子化的职工管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。

职工管理信息系统的实现可以减轻比较繁琐的手工职工管理。

现在应用在大中型企业的管理信息系统中,几乎都包括了职工管理模块。

有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。

这些根据规范的西方的管理制度设计的职工管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,所以我们设计了一个简单的职工管理系统,为这些具有中国特色的中小企业解决他们在职工管理方面的问题。

数据结构信息管理系统案例

数据结构信息管理系统案例

数据结构信息管理系统案例一、案例背景。

话说有这么一个小公司,他们做的业务呢,就是收集各种奇奇怪怪的数据,像什么客户的喜好啦、市场上产品的销售情况啦,还有员工每天的工作效率之类的。

一开始,数据量还不大的时候,他们就用简单的Excel表格来记录,可是随着公司业务越来越火,数据就像发了疯的小兔子一样,蹭蹭地往上涨。

这时候,Excel就有点招架不住了,经常出错不说,找个数据都得费老半天劲。

于是,他们就决定搞一个数据结构信息管理系统。

二、系统设计。

# (一)数据结构的选择。

1. 线性结构数组。

对于一些固定格式的数据,比如说员工的基本信息,像姓名、年龄、职位这些,就用数组来存储。

就好比是把员工的这些信息都放进一个个小格子里,整整齐齐地排列着。

你要找哪个员工的信息,只要知道他在数组里的位置,一下子就能找到了。

不过数组也有个小麻烦,就是一旦中间要插入或者删除一个员工的信息,就得把后面的信息都挪一挪,就像在一列排队的人中,中间突然插进来一个人,后面的人都得往后退一步,挺麻烦的。

2. 线性结构链表。

对于那些经常需要变动的数据,比如公司新推出了一个产品,这个产品可能会有不同的版本,每个版本的信息可能会随时增加或者修改。

这时候链表就派上用场了。

链表就像是一串珠子,每个珠子就是一个数据块,珠子之间用线连着。

如果要插入一个新的版本信息,只要把新珠子插到合适的地方,然后把线重新连一下就好了,不用像数组那样大规模地挪动数据。

3. 树形结构二叉树。

在分析市场上产品的销售层级关系的时候,二叉树就大显身手了。

比如说,公司的产品有不同的种类,每个种类下面又有不同的子产品,就像一棵大树,树干是产品种类,树枝就是子产品。

二叉树的好处是查找起来特别快。

就好比你要找一个特定的子产品,只要按照树的分支结构,很快就能找到它所在的位置。

4. 图形结构有向图。

在分析员工之间的工作流程关系的时候,有向图就很有用了。

比如说,员工A的工作完成后要交给员工B,员工B再交给员工C,这种流程关系用有向图来表示就非常直观。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

员工信息管理系统课程设计报告系别:计算机与信息工程系班级: B080501姓名:李海鹏学号: B08050128指导教师:张红霞课设时间:2010-6-21到2010-6-25摘要员工信息管理系统属于信息管理系统。

员工信息管理是每个公司不可缺少的。

系统用C程序开发,主要在于建立好一个合适的数据结构,并要求程序简洁实用。

本系统利用C语言简洁、灵活,数据结构丰富等特点,编写适合公司使用的系统。

整个系统使用起来也比较方便,入手简单,操作方便。

论文主要介绍了程序设计过程、设计方案以及测试过程,重点讲解了设计过程中的思想,技术解决方案等等。

关键字:员工信息管理,C程序,数据结构目录前言 (3)第1章课设题目 (4)第2章开发运行环境及相关知识 (4)第3章程序总体设计 (5)3.1 主要功能模块 (5)3.2 数据结构 (6)第4章程序详细设计及实现 (7)4.1 输入函数 (7)4.2 排序函数 (7)4.3 显示函数 (7)4.4 查找函数 (7)4.5更改函数 (8)4.6 删除函数 (8)4.7 主函数 (8)4.8 其他函数 (9)第5章系统功能测试 (9)5.1 系统主界面 (9)5.2 输入数据 (9)5.3 显示数据 (10)5.4 信息排序 (10)5.5 更改信息 (11)5.6 删除信息 (11)第6章课设总结 (12)第7章程序清单 (13)参考文献 (31)前言本课程设计旨在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机编程解决实际问题的基本方法,熟悉C程序开发的全过程,掌握数据结构的使用方法,熟练应用各种数据结构。

本次任务是根据给定的数据和程序,应用单向链表处理一系列公司员工的信息。

通过整个程序开发的过程,提高综合应用C语言的能力、编程和调试能力,为进一步学习相关专业课程创建较扎实的理论基础和实践基础。

报告将分6个章节来详细讲述本次课设题目的开发过程。

第1章主要描述课设的题目及要求;第2章来介绍程序开发运行环境;第3章介绍程序主体设计,网络程序概要;第4章是对程序进行详细分析,对各个函数进行详细描述,并阐述程序实现技术等信息;第5章为测试过程,主要用测试过程中的图片来表述最终信息;第6章也是最后一章,为本次实践活动的心得体会。

第1章课设题目1.1课设题目每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。

系统能够完成员工信息的查询、更新、插入、删除、排序等功能。

1.2基本要求(1)每条记录内,包括员工的个人信息,有:编号、姓名、性别、出生年月、学历、职务、电话、住址等;(2)按不同关键字(如编号,姓名等),对所有员工的信息进行排序;(3)按照指定条件查找某员工所有信息;(4)按编号对某个员工的信息进行修改;(5)加入新员工的信息,并实现排序;(6)按编号删除已离职的员工的信息。

1.3 其他需求程序除需完成基本功能外,程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。

第2章开发运行环境及相关知识2.1 运行环境软件环境:Windows 2000,Windows XP和Windows NT4.0。

2.2开发工具微软公司的Microsoft Visual C++ 6.0。

2.3开发工具简介Visual C++是一个功能强大的可视化软件开发工具。

自1993年Microsoft 公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。

虽然微软公司推出了Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。

所以实际中,更多的是以Visual C++6.0为平台。

Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。

Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。

这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。

第3章程序总体设计3.1 主要功能模块依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的录入、增加、删除、查找、更改和数据的排序等功能模块。

图3-1 程序主体3.2 数据结构依据给定的数据格式,个人信息由九个字段来组成,即编号、姓名、性别、生日、学历、职务、电话和住址,外加一个判断关键字。

本课程设计根据功能需求,使用线性结构来组织数据,因为数据占据空间比较大,要对表中某项数据进行操作,所以使用链表比较方便。

结构体定义:typedef struct Stuff{char number[10]; //编号char name[10]; //姓名char sex[8]; //性别char birthday[10]; //生日char degree[20]; //学历char business[20]; //职务char phone[15]; //电话char place[50]; //住址char con[50]; //判断关键字struct Stuff *next; //指针域} Stuff;信息存储:信息存储结构如图3-2图 3-2 链式存储结构第4章程序详细设计及实现4.1 输入函数函数原型:Stuff *App(Stuff *head);函数功能:通过输入各项数据给数据元素,来建立一个数据表。

算法要点:(1)用循环控制输入记录;(2)为每一结构体数据项输入数据;(3)返回输入记录数。

4.2 排序函数函数原型:void Sort(Stuff *head);void Scpy(char *p,char *q);int Sel(char ch,Stuff *p,Stuff *q);函数功能:按照指定关键字对员工信息进行排序。

算法要点:(1)比较法对信息进行排序;(2)使用交换函数,对每项信息进行交换。

4.3 显示函数函数原型:void Show(Stuff *head);函数功能:输出表中所有节点的信息。

算法要点:使用循环输出所有信息。

程序清单:4.4 查找函数函数原型:Stuff *Search(Stuff *head);函数功能:按照指定关键字,对相应员工信息进行查找。

算法要点:(1)输入字段和信息相应字段的比较;(2)函数中调用删除和更改函数。

4.5更改函数函数原型:Stuff *Change(Stuff *head,char n[10]);函数功能:输入员工编号,查找到员工信息,对其信息进行更新。

算法要点:(1)信息查找;(2)信息重新录入及保存。

4.6 删除函数函数原型:Stuff *Del(Stuff *head,char n[10]);函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。

算法要点:(1)按关键字查找信息;(2)链表中删除节点信息,并释放节点空间。

4.7 主函数主函数主要是调用以上的子函数,用开关语句进行选择性的调用。

大致程序如下:switch(Menu()){case 1: 调用函数语句;break;case 2: 调用函数语句;break;……case 0:退出程序语句;default:printf("输入错误,请重新输入!\n");}4.8 其他函数其他函数主要起到辅助功能,如菜单函数,主要起到引导作用;释放空间函数,主要用于释放已经删除节点的信息,或者释放整个链表的节点信息。

菜单函数原型:char Menu();释放函数原型:void Fre(Stuff *head);第5章系统功能测试5.1 系统主界面图5-1 系统主界面5.2 输入数据(1)输入操作字符1;(2)输入员工信息;(3)输入“#”字符结束输入。

图5-2 输入操作5.3 显示数据图5-3 显示信息5.4 信息排序图5-4信息排序5.5 更改信息图5-5 更正信息5.6 删除信息图5-6删除信息第6章课设总结如何才能真正的去掌握编程的方法,如何才能真正的去理解书上的理论信息,理论知识用于实践才是最终的目的。

通过本次数据结构课程设计,我对数据结构的理论知识有了更为直接的认识,从实际中获得了很多宝贵的经验,这些对我以后做程序开发将是一笔很宝贵的财富。

我有以下两点感触:(1)没有解决不了的问题。

这个程序在课设前一周就开始着手编写,中间遇到了不少的问题,由于以前写过类似的程序,所以对其中的一些错误很是敏感,也通过不少的途径来解决了问题。

比如,通过和网上的一些程序代码的对比,解决了自己程序中输出乱码的问题。

(2)注重团队协作。

虽然此次课设是完全个人完成的,但是我还是要强调团队的重要性,因为我们以后走项的程序开发的道路上,没有单枪匹马的,都是一个团队协作完成的,所以今后的程序开发过程中,尽可能的和他人合作。

万事开头难,学好编程,我还有很长的路要走。

第7章程序清单#include "stdio.h"#include "stdlib.h"#include "windows.h " //清屏函数头文件#include "string.h"typedef struct Stuff{char number[10]; //编号char name[10]; //姓名char sex[8]; //性别char birthday[10]; //生日char degree[20]; //学历char business[20]; //职务char phone[15]; //电话char place[50]; //住址char con[50]; //判断关键字struct Stuff *next;}Stuff;char Menu(); //菜单函数Stuff *App(Stuff *head); //添加函数void Sort(Stuff *head); //排序函数Stuff *Search(Stuff *head); //查找函数Stuff *Change(Stuff *head,char n[10]); //更改函数void Scpy(char *p,char *q); //排序中用于交换员工信息Stuff *Del(Stuff *head,char n[10]); //删除函数int Sel(char ch,Stuff *p,Stuff *q); //判断排序及关键字专用函数void Show(Stuff *head); //输出函数void Fre(Stuff *head); //释放函数int n=1; //定义全局变量,实现人数统计//菜单函数char Menu(void){int ch;printf("---------------------------菜单-------------------------\n");printf(" 1.添加员工信息\n");printf(" 2.员工信息排序\n");printf(" 3.查找员工信息\n");printf(" 4.输出员工信息\n");printf(" 5.更改员工信息\n");printf(" 6.删除员工信息\n");printf(" 0.退出\n");printf("--------------------------------------------------------\n");printf(“请选择你的操作:”);scanf(" %d",&ch);return ch;}//添加成员函数Stuff *App(Stuff *head){Stuff *p=NULL,*q=head;while(n){p=(Stuff *)malloc(sizeof(Stuff)); //申请结构体空间if(p==NULL){printf("空间不足,自动退出系统!\n");exit(0);}p->next =NULL; //指针域为空printf("请输入第%d名员工:\n",n);printf(" 编号| 姓名| 性别| 出生年月| 学历| 职务| 电话| 住址:\n");getchar();scanf("%s",p->number );if(strcmp(p->number,"#")){++n;scanf("%s%s%s%s%s%s%s",p->name ,p->sex ,p->birthday ,p->degree ,p->bu siness ,p->phone ,p->place );p->con[0]='\0'; //防止后面判断出现随机值if(head==NULL)head=p;else{while(q->next !=NULL)q=q->next ;q->next =p;}q=p; //尾插法}if(!strcmp(p->number ,"#")){free(p); //完成添加,释放多余空间break;}}return head;}//排序函数void Sort(Stuff *head){char ch;Stuff *p,*q,*r;while(1){printf("请选择排序条件:1.编号|2.姓名|0.退出\n");getchar();scanf("%c",&ch);if(ch=='0')break;if(ch<'1'||ch>'2'){printf("输入错误,请重新输入!\n");continue;}p=head;while(p->next!=NULL) //选择排序{q=p->next;r=p;while(q!=NULL){if(Sel(ch,r,q)) //调用判断函数r=q;q=q->next;}if(r!=p) //交换信息{Scpy(r->number,p->number);Scpy(r->name,p->name);Scpy(r->sex,p->sex);Scpy(r->birthday,p->birthday);Scpy(r->degree,p->degree);Scpy(r->business,p->business);Scpy(r->phone,p->phone);Scpy(r->place,p->place);}p=p->next;}Show(head); //输出}}//交换函数void Scpy(char *p,char *q){char c[50];strcpy(c,p);strcpy(p,q);strcpy(q,c);}//判断函数int Sel(char ch,Stuff *p,Stuff *q){switch(ch) //实现各个关键字查找{case '1':returnstrcmp(q->number ,p->number )<0||strcmp(q->con ,p->number )==0 ;case '2':return strcmp(q->name ,p->name )<0||strcmp(q->con ,p->name )==0 ;default :exit(0);}}//查找函数Stuff *Search(Stuff *head){Stuff *p=NULL,*q;int flag; //查找判断char ch,sh; //两个控制变量q=&a;while(1){printf("请输入要查找的条件:1.编号2.姓名0.退出\n");scanf(" %c",&ch);if(ch=='0')break;if(ch<'1'||ch>'2'){printf("输入错误,请重新输入!\n");continue;}getchar();printf("请输入:");gets(q->con);p=head; //指向表头flag=0;while(p!=NULL){if(strcmp(q->con,p->number)==0||strcmp(q->con,p->name)==0){printf("员工信息如下:\n");printf(" 编号| 姓名| 性别| 出生年月| 学历| 职务| 电话| 住址\n%s \t%s \t%s \t%s \t%s \t%s \t%s \t%s\n",p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p->business ,p-> phone ,p->place );printf("是否需要:1.更改2.删除3.继续\n");scanf(" %c",&sh);if(sh=='1')Change(head,p->number); //调用更改函数else if(sh=='2')head=Del(head,p->number); //调用删除函数flag=1;break;}p=p->next ;}if(flag==0)printf("没有找到该员工信息!\n");}return head;}//更改函数Stuff *Change(Stuff *head,char n[10]){Stuff *p=head;int flag=0;if(head==NULL)printf("信息表为空,请先建立信息表!\n");else{while(p!=NULL){if(!strcmp(p->number,n)){printf("找到员工,请输入新的信息:\n 编号| 姓名| 性别| 出生年月| 学历| 职务| 电话| 住址\n");scanf("%s%s%s%s%s%s%s%s",p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p->business ,p->phone ,p->place );printf("员工信息如下:\n");flag=1;}p=p->next;}if(flag==0)printf("未找到该员工信息!\n");}Show(head);return head;}//删除函数Stuff *Del(Stuff *head,char n[10]){Stuff *p,*pr;int flag;flag=0;p=head,pr=head;if(head==NULL)printf("未找到员工信息!\n");else{while(strcmp(p->number ,n)&&p->next !=NULL){pr=p;p=p->next ;}if(!strcmp(p->number ,n)){if(p==head)head=p->next ;elsepr->next=p->next ;free(p);printf("删除成功!\n");n--;}elseprintf("未找到员工信息!\n");}Show(head);return head;}//输出函数void Show(Stuff *head){Stuff *p=head;int i=1;if(head!=NULL){printf("员工信息如下:\n");while(p!=NULL){printf("%d. %s %s %s %s %s %s %s %s\n",i++,p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p->business ,p->phone ,p->place);p=p->next ;}}else{printf("信息为空!\n");}}//释放函数void Fre(Stuff *head){Stuff *p;while(head!=NULL){p=head;head=head->next ;free(p);}}void main(){char Index[10];Stuff *head=NULL; //链表头指针定义printf("---------------欢迎使用《员工信息管理系统》-------------\n");Sleep(1000);while(1){switch(Menu()){case 1:printf("请输入员工信息,直接输入'#'结束\n");head=App(head);break;case 2:Sort(head);break;case 3:head=Search(head);break;case 4:Show(head);break;case 5:printf("请输入员工编号:");scanf("%s",Index);Change(head,Index);break;case 6:printf("请输入员工编号:");scanf("%s",n);head=Del(head,Index);break;case 0:printf("-------------------欢迎下次光临!-----------------\n");Sleep(2000);exit(0);break;default:printf("输入错误,请重新输入!\n");}printf("按Enter键继续~");getchar();getchar();system("cls"); //清屏效果}Fre(head);} //结束参考文献[1].耿国华.数据结构—C语言描述.高等教育出版社.2005/067511.[2].谭浩强.C程序设计.清华大学出版社.2007/014674.。

相关文档
最新文档