员工信息管理程序课设报告
员工信息管理系统(含附源代码)03
scanf("%s",work[i].name);
printf("\n\t请输入员工身份证号:");
scanf("%s",work[i].ID);
printf("\n\t请输入员工性别:");
scanf("%s",work[i].sex);
printf("\n\t请输入员工出生日期(yyyy-mm-dd):");
开始选择更新内容i结束开始选择查询内容i结束按性别统计年龄查询函数isum判断两工作号相等isumworkiworki1sumflag1是否继续输入工作号退出删除结束开始输出信息结束开始开始isum输入年龄输出信息结束判断员工的年龄段变量自加开始输入年龄chisum存在员工输出员工信息继续查询退出查询结束身份证排序
scanf("%s",work[i].sex);
printf("\n\t请输入员工出生日期(yyyy-mm-dd):");
scanf("%d-%d-%d",&work[i].birthday.year,&work[i].birthday.month,&work[i].birthday.day);
printf("\n\t请输入员工年龄:");
printf("\t **输入'e'退出列表**\n");
ch=getche();
if(ch=='e')
break;
clrscr();
printf("\t *****员工基本信息列表*****\n");
软件工程课设-企业员工信息管理系统
企业员工信息管理系统摘要:在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。
考虑到当前大量企业的企业员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏.因此根据部分企业提供的需求,设计此企业企业员工信息管理系统,以帮助企业达到企业员工管理办公自动化、节约管理成本、提高企业工作效率的目的。
根据实际需求,“企业员工信息管理系统”项目采用模块化的设计思想,在Windows XP操作系统环境下,以SQL 2005数据库作为开发平台。
使用jsp编写程序,完成数据输入、修改、存储、调用查询等功能;并使用SQL 2005数据库形成数据,进行数据存储。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了企业员工信息管理的工作效率和企业的信息化的水平.关键字:SQL 2005 数据库;jsp;信息管理1.引言1.课题背景现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的企业员工管理的形式和内涵都在发生着根本性的变化。
企业员工信息管理的内容也己经转变为对更为广泛的系统价值的追求。
信息管理,如今已是一个热门话题,它已为许多企业所采用。
在现代化的进程中,引入现代管理的思想,建立一套可面向企业单位的员工信息管理系统,也是十分必要的。
本课题基于我国企业管理信息化建设现状,结合在实际工作中所遇到的问题和收获,对企业员工管理系统在设计开发等方面进行研究,重点研究系统开发中所采用的软硬件平台规范、数据库结构设计、开发工具的选择与使用,目的是从技术手段的角度阐述如何实现企业从传统经营管理模式向信息化管理模式转变的过程,以及企业员工管理系统在企业管理信息化中所起到的重要作用。
2。
国内外研究现状目前,在国内外各大企业单位中,企业员工信息管理系统的使用是非常广泛的.同时,有很多的软件开发商也开发了许多基于各种行业的企业员工信息管理学系统。
人事管理系统课程设计
实验一软件需求分析实验项目名称:软件需求分析实验目的:1) 掌握系统的功能描述、性能描述方法;2) 掌握需求分析工具数据流程图、数据字典等;3) 掌握系统需求分析的步骤和方法。
实验内容:用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流程图和数据字典。
实验步骤:1) 到相关单位进行需求分析2) 综合利用 Internet 网和相关书籍整理并完善需求分析。
3) 画出系统数据流图(分析系统是事务型还是变换型)4) 得出系统数据字典1. 软件系统需求描述:(从功能,性能上进行描述)功能需求:确定新系统应做什么 ,这算最主要的需求 .该系统就是对A 公司的人员信息进行录入,修改,删除,查找以及表单输出 ..性能需求:给出所开发的新系统的技术性能指标 ,包括存储容量限制 ,运行时间限制,安全保密性等.2. 软件系统数据流程(由加工、数据流、数据存储、源点和终点四种元素组成):顶层数据流图11)2) 1 层数据流图3) 0 F21合同到期信息F12部门信息F14工作变动F38批假信息F46福利信息F51工资表F25奖惩信息F43考勤统计信息F35请假信息F24培训信息F32考核汇总信息F1员工基本信息F2员工分布信息F17合同记录F33考勤信息F34请假信息F21培训信息F26奖惩信息F30工作信息P0人事管理系统E2经理E1 员工P0 人事管理系统F1员工基本信息F2员工分布信息P1人员管理F21合同到期信息F12部门信息F14工作变动信息F17 合同记录F5职务信息F13员工分布信息E1 员工F33考勤信息F34请假信息P3工资管理F38批假信息F46福利信息F51工资表E2经理F28奖惩信息F21培训信息F30工作信息F26奖惩信息P2工作管理F35请假信息F43考勤统计信息F25奖惩信息F24培训信息F32考核汇总信息002 层数据流图3. 软件系统数据字典1) 数据流条目员工信息表(DD_hrworker): 名字 : 员工信息表 别名:员工信息描述:记录企业员工的基本信息定义: 员工信息表=员工编号+员工姓名+1 级部门+2 级部门+性别+职位+电子邮件+身份证号+ 出 生 日 期+民 族+户 籍 所 在 地+婚 姻 情 况+毕 业 学 校+专 业+学 历+毕 业 时 间+入 职 时 间+联 系电话+家庭住址+紧急联系人+紧急联系电话离职信息表(DD_hrlworker):P1 人员管理F1员工 档案信息 F2员工 职务 信息E1 员工P1.1 人 员 信 息 管理F3员工 基本信息 F4员工分布信息 S5S6F10应聘人员记录 S4 应聘人员记录F7部门信息S1 部门基本信息F9部门编制S3 部门编制员工档案员工分布信息F6员工 分布信息P1.2部 门 管 理F5员工 分布信息F12部门信息S22 部门信息表F16修改员工 职务信息P1.3 工 作 变 动 管理S7 合同记录F17 合同记录S8 转正提醒记录F11部门信息 F8职务基本信息S2 职务基本信息F15工作 变动记录F19转正信息F18合同记录F20转正 提醒记录P1.4合 同 管 理F13员工 职务信息 F14工作 变动信息E2 经理F21合同 到期信息S9 工作变动记录名字:离职信息表别名:离职信息描述:记录企业离职员工的信息定义:员工信息表=员工编号+员工姓名+1 级部门+2 级部门+性别+职位+电子邮件+身份证号+ 出生日期+民族+户籍所在地+婚姻情况+毕业学校+专业+学历+毕业时间+入职时间+离职时间+离职成本+离职类型+联系电话+家庭住址+紧急联系人+紧急联系电话员工转正信息表(DD_hrrenew):名字:员工转正信息表别名:转正信息描述:记录企业引进转正员工的信息定义:员工转正信息表=转正编号+转正员工的编号+转正员工姓名+转正时间+原定转正时间+ 试用期工资+转正工资借调信息表(DD_hrborrow):名字:借调信息表别名:借调信息描述:记录企业借调人员相关信息。
管理信息系统课程设计报告范文免费 管理信息系统课程设计报告范文
管理信息系统课程设计报告范文免费管理信息系统课程设计报告范文本文是一份管理信息系统课程设计报告范文,旨在为广大学生提供参考,希望对大家的课程设计有所帮助。
一、项目背景随着大数据、人工智能等技术的快速发展,企业面临着管理信息系统的建设和升级的新需求。
因此,本项目旨在开发一款基于Web的企业管理信息系统,解决企业在日常运营中的管理与决策所面临的困难和挑战。
二、需求分析本项目主要面向企业的管理层和员工,旨在提供以下功能:1.员工管理:包括员工档案管理、考勤管理、薪资管理、绩效管理等。
2.部门管理:包括部门组织架构管理、部门绩效考核等。
3.客户管理:包括客户档案管理、销售管理等。
4.项目管理:包括项目计划管理、项目进度管理、项目成本管理等。
5.知识管理:包括企业文档管理、知识库管理等。
6.决策分析:包括数据统计与分析、报表生成、决策支持等。
三、系统架构本系统采用前后端分离技术,前端采用Vue.js框架,后端采用Node.js和MongoDB数据库。
具体架构如下图所示:四、功能实现1.员工管理:包括员工档案管理、考勤管理、薪资管理、绩效管理等。
员工档案管理功能截图如下:2.部门管理:包括部门组织架构管理、部门绩效考核等。
部门组织架构管理功能截图如下:3.客户管理:包括客户档案管理、销售管理等。
客户档案管理功能截图如下:4.项目管理:包括项目计划管理、项目进度管理、项目成本管理等。
项目计划管理功能截图如下:5.知识管理:包括企业文档管理、知识库管理等。
企业文档管理功能截图如下:6.决策分析:包括数据统计与分析、报表生成、决策支持等。
报表生成功能截图如下:五、结论与展望本项目成功地开发出了一款基于Web的企业管理信息系统,实现了员工管理、部门管理、客户管理、项目管理、知识管理和决策分析等功能。
但是,还存在一些问题需要进一步完善和升级,例如信息安全、用户体验等方面。
未来,我们将进一步完善和升级本系统,使其更加适应企业日常运营的需求。
职工信息管理系统
1 绪论1.1 课题背景及目的公司的扩张和人员的变动都需要处理相应职工的信息,凭借人力很难用最短的时间整理出需要的职工信息。
运用计算机系统对职工档案进行管理,能够提高管理效率、节约时间、方便管理人员管理信息。
因此需要设计一个职工信息管理系统,系统以菜单的方式工作,可以录入、查询、删除等。
职工的信息包括工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不可重复),使查询职工信息变得又快又简单。
1.2课题的研究方法本系统主要的设计思想是实现对职工信息的录入、删除、排序、查询等主要功能。
职工信息以文件的形式存储,这要用到文件存储数据结构。
数据结构的构造类型包括结构体变量、结构体数组、结构体指针等。
基本类型有整形字符型,其中字符型用来定义职工编号、姓名、工资、电话、地址等。
一维数组struct worker work[]用于定义员工的总人数,结构体struct worker用于存放员工的资料。
系统的人机接口采用简单的字符界面进行交互。
系统的设计方法是结构化设计方法,采用C语言进行开发。
软件开发平台采用Visual C++6.0。
[1]第1页 /共 30页2 概要设计2.1软件模块结构图职工信息管理系统可以分为显示员工资料、录入员工资料、查询员工信息、删除员工信息、对员工信息进行排序、退出信息系统。
图2.1 职工信息管理系统模块结构图第2页 /共 30页3 详细设计3.1数据结构设计定义一维数组struct worker work[50];用于定义员工的总人数,当员工总人数超过50后便不能再录入员工资料。
[1]结构体struct worker用于存放存放员工的资料,包括员工的基本信息:工号,姓名,年龄,学历,工资,住址,电话号码。
struct worker{int num; 工号char name[15]; 名字char xingbie; 性别int age; 年龄char exp[6]; 学历int wage; 工资char address[20]; 住址char tel[12]; 电话号码};int count=0; 当前工人个数int sort_type=0; 当前排序类型第3页 /共 30页3.2界面设计3.2.1 登录主界面设置用户名和密码,输入正确方可进入主界面。
数据库员工信息管理系统课程设计
数据库员工信息管理系统课程设计说到“数据库员工信息管理系统”,我第一个反应就是:听起来有点高大上,对吧?实际上它并没有那么复杂,大家不要被这些专业名词吓到。
我们平时的工作,尤其是在大公司里,信息管理可重要了,尤其是员工的各种信息。
如果没有一个好的系统,估计大家的工作都得从头再来。
你想啊,员工信息像什么?像那张卡片、身份证、工资单一样,啥时候都得用。
这个系统就是帮我们把这些东西整理成一个大大的数据库,让我们查询、修改、更新都方便,简直是事半功倍。
大家知道,数据库其实就是一个大仓库,里面装满了各种信息。
比如员工的姓名、年龄、岗位、薪水、联系方式,甚至还有生日、入职时间这些琐碎的小细节。
你说,这些信息看似简单,真的一旦没有好好整理起来,那可就麻烦了。
你想想,要是一个公司有上百上千的员工,要是没有一个系统来管理,翻个员工档案找个联系方式都能累死个人。
就像在沙滩上找针一样,费劲不说,还容易丢掉。
所以,数据库员工信息管理系统的作用就是解决这个问题。
简而言之,它就像是一个“万能工具”,什么需求都能满足。
有了这个系统,管理者再也不需要翻箱倒柜地去找员工资料了。
只要输入关键词,系统立马把相关信息一股脑儿呈现出来。
是不是很高效?就好像你在超市找东西,直接在自助查询机上输入产品名称,产品立马出现在你面前。
你是不是已经开始想象,管理者坐在电脑前,喝着咖啡,悠哉悠哉地查找资料,简直就是坐享其成,真是过瘾。
对于HR来说,这简直是一个福音。
以前,要是需要更新员工的薪水、职位变化,那得一个一个手动去修改数据,改完了还得核对。
现在嘛,只要通过这个系统轻松一点,什么变动都能立马更新。
这个系统的好处可不仅仅在于查询和更新信息,最神奇的地方在于它能够帮企业“管”人。
这说的可不只是做个“记事本”那么简单。
像公司员工的考勤、工资、绩效考核,所有的细节都能通过系统自动计算和处理。
比起人工算工资,想想是不是省心多了?再说了,人工算错了,出个小差错,员工不高兴,甚至闹个小情绪什么的,谁都不想碰到。
企业员工信息管理系统设计
企业员工信息管理系统设计毕业设计(论文)企业员工信息管理系统设计教学系:指导教师:专业班级:学生姓名:二零一零年五月注:1. 开题报告应根据教师下发的毕业设计(论文)任务书,在教师的指导下由学生独立撰写,在毕业设计开始后三周内完成;2.设计的目的及意义至少800字,基本内容和技术方案至少400字;3.指导教师意见应从选题的理论或实际价值出发,阐述学生利用的知识、原理、建立的模型正确与否、学生的论证充分否、学生能否完成课题,达到预期的目标。
郑重声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
本人签名:日期:目录摘要 (I)ABSTRACT.............................................................................................................................................................. I I 1 绪论 (1)1.1 研究背景 (1)1.2 本课题研究现状 (1)2 企业信息管理系统分析 (3)2.1需求分析 (3)2.2 技术可行性 (4)2.3 环境可行性分析........................................................................................................... 错误!未定义书签。
2.4 系统结构可行性分析................................................................................................... 错误!未定义书签。
C语言课程设计报告:职工信息管理系统程序设计
1.课程论文题目职工信息管理系统程序设计一、题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。
(2)职工信息录入功能(职工信息用文件保存)。
(3)职工浏览功能。
(4)职工信息查询功能,查询方式可按学历查询或者工号查询。
(5)职工信息的删除、修改功能(可选项)。
2.程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。
3.功能模块图5.算法设计1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。
2浏览模块【分析】该模块的功能是浏览职工的全部信息3排序模块4查询模块【分析】该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。
流程图如下:5修改模块【分析】该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。
显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。
流程图如下:6.程序代码#include<stdio.h>#define N 50struct worker{char id[50];char name[20];char sex[10];char age[10];char edu[20];char salary[10];char address[20];char tel[20];}worker[N];void save(int n) //保存函数,保存n个记录{ FILE *fp;int i;if((fp=fopen("worker.txt","wb"))==NULL) //以只写方式为输出打开一个二进制文件{ printf("\nCannot open file\n");}for(i=0;i<n;i++)if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)printf("file write error\n");fclose(fp);}int load() //加载函数{ FILE *fp;int i;if((fp=fopen("worker.txt","rb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&worker[i],sizeof(struct worker),1,fp);fclose(fp);return(i-1);}void no_input(int i,int n) //工号输入函数,i表示第i个职工的信息,n 表示比较到第n个职工{ int j,k,w1;do{w1=0;printf("工号:");scanf("%s",worker[i].id);for(j=0;worker[i].id[j]!='\0';j++)if(worker[i].id[j]<'0'||worker[i].id[j]>'9') //判断工号是否为数字{puts("请重新输入!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++) //比较到第N个职工if(k!=i&&strcmp(worker[k].id,worker[i].id)==0) //判断职工号是否有雷同{puts("请重新输入!\n");w1=1;break;}}while(w1==1);}void input(int i) //输入一个记录的函数{ no_input(i,i);printf("姓名:");scanf("%s",worker[i].name);printf("性别:");scanf(" %s",&worker[i].sex);printf("年龄:");scanf("%s",&worker[i].age);printf("工资:");scanf("%s",worker[i].salary);printf("学历:");scanf("%s",&worker[i].edu);printf("住址:");scanf("%s",worker[i].address);printf("电话:");scanf("%s",worker[i].tel);}void printf_one(int i) //显示一个记录的函数{printf("%10s %10s %5s %5s %8s %6s %10s %10s\n",worker[i].id,worker[i].name,worker[i].sex,worker[i].age,worker[i].salary,worker[i].edu,worker[i].address,worker[i].tel); }void printf_back() //一个任务结束后选择是好似浏览还是返回{ int k,w;printf("\n\n\tSuccessful^-^.\n\n");printf("接下来做什么?\n\n\t1).浏览全部\t2).返回: [ ]\b\b");scanf("%d",&w);if(w==1)browse();else menu();}modify_data(int i,int n) //修改函数{ int c,w1;do{puts("\nmodify by=>\n\n 1).工号 2).姓名 3).性别 4).年龄 5).工资6).学历 7).地址 8).电话 9).取消");printf("请选择?:[ ]\b\b");scanf("%d",&c);if(c>9||c<1){puts("\nChoice error!please again!");getchar();}}while(c>9||c<1);do{switch(c){case 1:no_input(i,n);break;case 2:printf("name:");scanf("%s",worker[i].name);break;case 3:printf("sex:");scanf("%s",worker[i].sex);break;case 4:printf("age:");scanf("%s",worker[i].age);break;case 5:printf("salary:");scanf("%s",worker[i].salary);break;case 6:printf("edu:");scanf("%s",worker[i].edu);break;case 7:printf("address:");scanf("%s",worker[i].address);break;case 8:printf("tel:");scanf("%s",worker[i].tel);break;case 9:menu();break;}puts("\nNow:\n");printf_face();printf_one(i);printf("\n确定?\n\n\t1).是2).否,重新修改3).不保存退出[ ]\b\b");scanf("%d",&w1);if(w1==1)save(n);}while(w1==2);return(w1);}printf_face() //显示数据结构项目{ printf("\n\t工号姓名性别年龄工资学历地址电话号码\n"); }void enter() //输入模块{ int i,n;printf("输入多少个职工信息(0-%d):",N-1);scanf("%d",&n);printf("\n 请输入职工信息\n\n");for(i=0;i<n;i++)input(i);if(i!=0)save(n);printf_back();}browse() //浏览模块{ int i,j,n;n=load();printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n按任意键显示下一页...");getch();puts("\n\n");}printf_one(i);}printf("\t这里有 %d 条记录.\n",n);printf("\n按任意键返回...");getch();menu();}modify() //修改模块{struct worker s;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)) //目的是分屏显示{printf("\n\n记住要修改的工号.按任意键显示下一页");getch();puts("\n\n");}printf_one(i); //调用显示一个记录的函数}do{printf("\n\n输入要修改的职工工号! 工号:");scanf("%s",s.id); //输入要修改的IDfor(i=0;i<n;i++) //查找要修改的数据if(strcmp(s.id,worker[i].id)==0){k=i; //找到要修改的记录s=worker[i]; //把worker[i]备份,以便恢复}if(k==-1)printf("\n\n未找到请重输");}while(k==-1); //当k=-1表示没有找到printf_face(); //调用显示数据结构项目的函数printf_one(k); //调用显示一个记录的函数w1=modify_data(k,n); //修改记录并返回保存控制值w1,w1=1表示用户已确认修改if(w1==1){printf("\Successful^_^.\n\n修改另一个?\n\n\t1).是 2).否,保存退出\t[ ]\b\b");scanf("%d",&w0);w2=1; //用来控制保存,使w2=1是标记已有过修改}else{w0=0;if(w2==1)worker[k]=s;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}search() //查询模块{ int c,w1;do{puts("\nsearch by=>\n\n1).工号 2}.学历 3).取消并返回"); printf("Which you needed?:[ ]\b\b");scanf("%d",&c);if(c>3||c<1){ puts("\nchoice error!please again!");getchar();}}while(c>3||c<1);{switch(c){case 1:search1();break;case 2:search2();break;case 3:menu();break;}}}search1() //按工号查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n输入要查询的工号! id:");scanf("%s",s.id);printf_face();for(i=0;i<n;i++)if(strcmp(s.id,worker[i].id)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search1();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}search2() //按学历查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n请输入你要查询的学历:\n");scanf("%s",);printf_face();for(i=0;i<n;i++)if(strcmp(,worker[i].edu)==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search2();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}menu(){int n,w1;do{puts("\t\t*******************菜单*******************\n\n");puts("\t\t\t\t1.录入职工信息");puts("\t\t\t\t2.浏览职工信息");puts("\t\t\t\t3.查询职工信息");puts("\t\t\t\t4.修改职工信息");puts("\t\t\t\t5.退出");puts("\t\t****************************************\n\n");printf("请选择(1~5): [ ]\b\b");scanf("%d",&n);if(n<1||n>5) //对选择的数字作判断{w1=1;getchar();}else w1=0;} while(w1==1);switch(n){case 1:enter();break; //录入 case 2:browse();break; //浏览 case 3:search();break; //查询 case 4:modify();break; //修改 case 5:exit(0); //退出}}main(){menu();}7.程序运行结果下面是各个模块的的界面截图(1)、主菜单(2)、输入模块(3)、浏览模块(3)、查找模块(4)、修改模块8.编程中遇到的困难及解决方法温故而知新,可以为师矣。
人事管理系统(工资管理子系统)软件工程课程设计报告
课程设计报告学生姓名:学号:学院:经济管理学院班级:题目: 人事管理系统工资管理子系统指导教师:职称:20 年月日1.选题背景 (3)2.工资管理子系统需求分析 (3)2.1工资管理子系统需求陈述 (3)2.2需求分析 (4)2.2.1功能需求 (4)2.2.2性能需求 (4)2.3系统需求建模 (5)2.3.1确定参与者 (6)2.3.2确定用例 (6)2.3.3系统用例建模 (6)2.3.4用例描述 (7)3.工资管理系统系统分析 (8)3.1系统用例建模 (9)3.2静态结构模型 (16)3.2.1类的识别 (16)3.2.2类的关联分析 (17)3.3.3类的属性描述 (18)3.3.4类的构建 (19)3.3系统动态模型 (19)3.3.1系统执行顺序分析 (19)3.3.2系统协作分析 (21)3.3.3系统状态分析 (22)3.3.4系统活动分析 (22)4.工资管理系统系统设计与实现 (24)4.1UML体系结构设计 (24)4.1.1硬件体系结构设计 (24)4.1.2软件体系结构设计 (25)4.2对象模型设计 (25)4.3系统实现 (25)4.3.1组件分析 (26)4.3.2配置分析 (28)5.课程设计心得体会 (28)参考文献 (29)1.选题背景随着社会的进步和计算机技术的发展,特别是微型计算机的大范围普及,现在应用在大中型企业的信息管理系统中,几乎都包括了工资管理模块。
有些环境中是有大型ERP软件中的一个模块引进的,有些作为企业的财务系统的一部分。
计算机处理的数据量不断增加。
文件管理系统采用的一次最多存取一个记录的访问方式,以及在不同文件之间缺乏相互联系的结构,越来越不能适应管理大量数据的需要,于是数据库管理系统便应运而生。
有了数据库我们便能方便快捷的对数据进行读取、存取,并维护数据库的数据。
但,西方管理制度设计的工资管理软件,在很多时候还不能完成解决中国特色中小企业的问题,本文介绍的毕业设计的研究工作就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。
软件课程设计-员工信息管理系统
枣庄学院信息科学与工程学院课程设计任务书题目: 企业员工信息管理系统学生1: 贺佳学生2:安新学生3:武艳飞学生4:区丽君专业:计算机科学与技术课程: 软件工程指导教师: 姜振凤职称:讲师完成时间: 2013年5 月--—-2013 年6月枣庄学院信息科学与工程学院制2013年6月30日课程设计任务书及成绩评定目录1 概述 (1)1。
1 设计目的 (1)1.2 设计背景 (1)1.3开发环境 (2)1。
4小组分工 (2)2 可行性分析 (2)2。
1技术可行性分析 (2)2.2社会可行性分析 (2)2。
3经济可行性分析 (2)2。
4操作可行性分析 (3)3需求分析 (3)3。
1需分析的任务求 (3)3.1.1界面要求 (3)3。
1。
2功能要求 (3)3。
2子功能需求 (3)3。
3数据流图DFD (5)3。
3。
1顶层数据流图 (5)3.3.2一层数据流图 (5)3.3.3二层数据流图 (6)3。
4数据字典 (7)3。
4。
1数据源点描述: (7)3。
4.2加工逻辑词条描述 (7)3。
4.3数据流名词条描述: (7)3.4.4数据文件词条描述: (8)4。
软件设计 (8)4。
1概要设计 (8)4.1。
1 系统层次结构图 (8)4.1。
2系统IPO图 (8)4。
2 详细设计 (10)4。
2.1登录模块 (10)4。
2。
2 人事管理模块 (11)4.2。
3 工资管理模块 (12)4.2。
4系统管理模块 (13)4.3数据库设计 (14)5 软件实现 (14)5。
1登陆界面 (14)5。
2添加员工基本信息 (15)5.3修改员工基本信息 (16)5。
4 查询员工基本信息 (17)6 软件测试报告 (17)6。
1.测试方案 (17)6.2. 测试条目 (17)6.3设计测试用例 (18)6。
4。
测试结论 (19)7 总结 (19)参考文献 (20)1 概述自上个世纪90年代以来,计算机技术的迅猛发展和推广普及,为各行各业突飞猛进的发展带来了新生的动力,推动了各个行业向更高的层次进步.当今时代是飞速发展的信息时代。
管理信息系统课程设计报告报告
管理信息系统课程设计报告学生选课管理信息系统班级:会121姓名:方樱桃学号:129094237前言学生选课是高校教务管理工作的一部分,学生选课管理信息化是现代学校人力资源开发与管理的手段。
主要介绍了学生选课管理系统的分析、设计及实现方法。
随着在校大学生人数不断的增加、开设的课程越来越丰富和多元化。
教务系统数据量也不断上涨,以往随堂选课的方法易造成选课系统的盲目性和教务处处理数据的繁重性,为减轻教务处的工作,以及让每个学生选到自己所喜欢的科目。
考虑建立一个方便、快速、公平和符合学分制管理制度的选课平台和应用系统就显得至关重要了。
学生选课管理系统,在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。
它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性。
它对于开展学生选课和信息查询的一种较为先进的选课模式,它对于发挥学生选择课程的自主性,提高学校课程管理效率等方面具有十分重要的作用的意义,并且具有其它技术手段无可比拟的优越性。
结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析,可行性分析,总体设计,详细设计,编码以及测试与调试。
本次设计基于游览器/服务器结构网上选课系统的基本设计思想,简单介绍了系统各功能模块及数据库的设计,设计出登陆,选课,查询等一系列功能关键词:网上选课数据库管理系统选课目录第一章学生选课管理信息系统的系统分析 (2)1.1学生选课管理信息系统的功能分析 (2)1.2学生选课管理信息系统设计的可行性分析 (2)1.2.1技术可行性研究 (2)1.2.2经济可行性研究 (3)1.2.3社会可行性研究 (3)1.3学生选课管理信息系统用户需求分析 (3)第二章学生选课管理信息系统的总体设计 (3)2.1学生选课管理信息系统流程设计 (3)2.2学生选课信息管理系统功能设计 (4)2.3学生选课信息管理系统概念结构设计 (5)2.4 学生选课管理信息系统的逻辑结构设计 (7)第三章学生选课信息管理系统的详细设计 (8)3.1学生选课信息管理业务流程图 (8)3.2学生选课信息管理关键功能流程图 (9)3.3学生选课信息管理系统程序设计 (10)第四章系统的调试与运行 (11)第五章总结 (12)参考文献 (12)第一章学生选课管理信息系统的系统分析1.1学生选课管理信息系统的功能分析学生选课系统含登录验证模块、学生选课模块、管理员模块和教师查询模块。
员工信息管理课程设计
员工信息管理课程设计一、教学目标本课程的教学目标是使学生掌握员工信息管理的基本知识和技能,能够运用所学的知识对员工信息进行有效的管理。
具体目标如下:1.了解员工信息管理的基本概念和重要性。
2.掌握员工信息管理的基本流程和方法。
3.了解员工信息管理的法律法规和道德规范。
4.能够使用员工信息管理系统进行员工信息的录入、查询、修改和删除。
5.能够对员工信息进行分类、整理和分析,以提高管理效率。
6.能够制定员工信息管理的制度和规范,并进行有效执行。
情感态度价值观目标:1.培养学生的信息安全和保密意识,确保员工信息的安全。
2.培养学生对员工信息管理的重视,提高学生的职业素养。
3.培养学生团队合作精神,提高学生的问题解决能力。
二、教学内容本课程的教学内容主要包括员工信息管理的基本概念、基本流程、法律法规和道德规范,以及员工信息管理系统的使用。
具体内容包括以下几个方面:1.员工信息管理的基本概念:介绍员工信息管理的定义、作用和重要性。
2.员工信息管理的基本流程:讲解员工信息管理的各个环节,包括信息录入、查询、修改和删除等。
3.员工信息管理的法律法规和道德规范:介绍员工信息管理的相关法律法规,以及道德规范和信息安全保密要求。
4.员工信息管理系统的使用:讲解如何使用员工信息管理系统进行员工信息的管理,包括系统的安装、配置和操作等。
三、教学方法本课程的教学方法采用讲授法、案例分析法和实验法相结合的方式,以激发学生的学习兴趣和主动性。
1.讲授法:通过教师的讲解,使学生掌握员工信息管理的基本概念、基本流程和法律法规等知识。
2.案例分析法:通过分析实际案例,使学生了解员工信息管理的具体应用和实践,提高学生的问题解决能力。
3.实验法:通过实验操作,使学生掌握员工信息管理系统的使用方法,提高学生的实际操作能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用正规出版的员工信息管理教材,作为学生学习的主要参考资料。
程序设计基础实践报告
福建师范大学闽南科技学院程序设计基础实践报告题目职工工资信息管理系统学生姓名陈显泽学院信息科学与工程学院专业班级土木工程1班完成时间 2017。
4.20 指导教师褚若波目录一、课程设计目的和要求...。
..。
.。
.。
...。
...。
..。
.。
二、课程设计基本内容.。
.。
..。
..。
..。
.。
.。
..。
....。
..。
..三、程序功能简介。
...。
..。
..。
..。
.。
....。
..。
..。
.。
..四、主体内容...。
...。
.。
.。
.。
.....。
..。
...。
...。
.。
.。
4.1 设计分析。
.。
....。
...。
...。
.。
...。
.。
.。
.。
.. 4。
2 程序结构。
........。
.。
..。
....。
.。
.。
..。
..。
.。
4。
3 模块的功能及程序说明.。
.。
...。
..。
.....。
.4.4 相关模块源程序。
..。
......。
.。
.。
.。
....。
.。
.。
.。
4。
5 操作方法(流程).。
...。
..。
.。
..。
.。
.。
...4.6 试验结果(包括输入数据和输出结果).。
..。
..。
.。
4。
7 设计体会。
.....。
...。
..。
.。
.。
.。
.。
...。
.。
. 4。
8 参考文献.。
.。
.....。
.。
.。
...。
.。
....。
.。
.。
.。
五、用户使用说明..。
..。
..。
...。
.。
...。
.。
..。
..。
.。
.。
.。
.六、对本设计过程及方法、手段的改进建议。
..。
..。
..。
.。
一、课程设计的目的和要求本次课程设计,是基于“面向对象编程(C++)”课程学习内容的重要实践环节,其主要目的在于通过综合程序课程设计,培养和提高学生的独立分析问题、解决实际问题的能力和计算机语言编程能力。
本次课程设计时间为2周,要求每位同学在为期两周的时间段内,在编程环境下,用面向对象程序设计思想进行C++程序设计、功能模块调试,在正确、合理的软件功能规划的基础上,实现公用接口与私有实现的分离,独立完成相关设计题所规定的任务、进行课程设计报告编写与整理。
企业人事信息管理系统课程设计1
企业人事信息管理系统课程设计目录1.引言1.1研究课题的背景1.2研究课题的意义1.3开发工具选择1.4可行性研究1.4.1技术可行性1.4.2经济可行性2.系统需求分析3.概要设计3.1数据库设计3.2模块设计3.3系统输入输出设计3.4代码设计4.系统详细设计4.1系统设计总体目标4.2系统功能描述4.3总体功能模块设计:功能层次图4.4系统流程分析4.4.1系统业务流程分析4.4.2系统数据流程分析4.5系统界面设计4.6数据字典1.引言1.1研究课题的背景知识经济时代, 以不确定性为特征的竞争环境向现代企业提出了新的挑战, 人事信息管理作为管理学的一个分支, 在企业管理活动中的地位越来越重要。
企业要实现利润最大化, 有效开发人力资源, 就必须更新观念, 实现向人事信息管理的转变。
人事信息管理是企业管理中的一个重要组成部分,是适应现代企业制度,推动企业人力资源管理走向科学化、规范化、自动化的必要条件。
如何管理好企业内部的信息,对人力资源进行合理优化,成为企业管理中的一个重要问题。
使用计算机来管理可以提高人事信息管理的效率,从而提高经济效益,因此企业人事信息管理系统是一个现代化企业不可缺少的部分,它的作用对企业的决策者和管理者来说都至关重要。
现代人力资源管理是建立在市场经济基础之上, 按照市场经济法则, 对人力资源的招聘录用、绩效考评和培训发展等进行全过程的、主动的、动态的管理, 其各个环节紧密结合, 主动地对人力资源的各个方面进行开发利用。
人力资源各个时期的管理规划、培训开发总是与企业各个阶段的人力资源状况和目标紧密相连。
人才市场体系的建立, 使得人力资源流动渠道畅通, 员工进出变得容易, 辞职或被辞退变得正常, 企业能不断地吐故纳新, 保持活力。
全过程的、动态的、主动的人力资源管理符合市场经济以市场实现对资源进行有效配臵的原则。
现代人力资源管理在传统劳动人事管理的基础上增加了人力资源规划、人力资源开发、岗位与组织设计、行为管理和员工终身教育培训等内容, 使现代人力资源的管理更具计划性、战略性、整体性和未来性。
人力资源管理系统课程设计报告
课程设计课程名称大型数据库题目名称人力资源管理系统专业班级XXXXX学生姓名XXXXXXXXFX学号XXXXXXXX指导教师XXXXXX二○一○年十二月二十八日目录摘要........................................................................................................................... - 3 -第一章绪论............................................................................................................. - 4 - 1。
1问题的提出............................................................................................... - 4 - 1。
2 解决的方法.............................................................................................. - 4 - 1。
3 人力资源管理系统概述.......................................................................... - 5 -1.3.1 人力资源管理系统的发展............................................................... - 5 -1.3。
1 人力资源管理系统的特点.......................................................... - 7 -1.4开发工具的介绍.......................................................................................... - 8 - 第二章人力资源管理系统分析与设计............................................................... - 11 -2.1 人力资源管理系统功能分析................................................................... - 11 -2.2 人力资源管理系统模块设计................................................................... - 14 - 第三章人力资源管理系统功能实现................................................................. - 18 - 3。
程序设计基础课程设计报告(c语言实现附源码)(员工工资管理系统)
《程序设计基础》课程设计报告题目: 员工工资管理系统院(系): 信息科学与工程学院专业班级:学生姓名:学号:指导教师:20 16 年 12 月 12 日至20 16 年 12 月 23 日武昌首义学院制程序设计基础课程设计任务书目录1需求与总体设计 (1)2详细设计 (1)3编码实现 (4)4运行结果 (21)总结 (24)1需求与总体设计1.1需求描述设计一个利用文件处理方式实现对员工工资(包括员工编号、员工姓名、年月、岗位工资、奖金、扣款和实发)进行管理,具有增加数据、更新数据、查询数据、删除数据、列表显示数据以及重组文件的功能。
1。
2总体设计先以登陆函数登陆,再进入主菜单,菜单中显示各个要实现的操作,以菜单将各个函数联系起来,对菜单操作以实现系统的目的.1。
3数据结构struct user //登陆者信息{char un[10];char up[10];}us[3] = { "aaa","111",”bbb”,”222",”ccc",”333" };struct yg //员工结构体{short zt; //数据状态long bh; //编号char name[20]; //名字char time[11]; //时间long money; //基本工资long jj; //奖金long kk; //扣款long sf; //实发工资};整个程序只运用了结构体的数据结构,结构体运用于登陆者信息和员工信息,将员工信息封装在一个结构体里,再创建结构体数组,将多个员工信息储存在结构体数组中。
2详细设计2.1 系统功能设计主函数和子函数:系统包含一个主函数,和子函数,分别有登陆子函数,菜单子函数,增加数据子函数,更新数据子函数,查询数据子函数,删除数据子函数,统计数据子函数,重组文件子函数,排序数据子函数,最后两个分别是读取文件和写入文件子函数。
人事(人力资源)管理信息系统课程设计报告
目录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]。
现在人们日益深刻认识到,把信息技术应用与应用环境分离是办不到的。
管理信息系统根本不仅是技术系统,而且是社会系统。
使用计算机对企业人事信息进行管理,具有手工管理所无法比拟的优点。
1.高校人员信息管理系统设计
沈阳工程学院课程设计任务书课程设计题目:高校人员信息管理系统设计院系信息学院班级学生姓名学号指导教师职称课程设计进行地点:任务下达时间:年月日起止日期:年月日起——至年月日止教研室主任年月日批准一、课程设计的原始资料及依据目前,随着IT技术的飞速发展,为了适应现代化的环境,许多的管理事务都由计算机来进行,从而提高了管理的效率和水平。
查阅有关资料,进一步理解程序设计的思想,并利用此思想编写一个简单的管理系统。
通过本设计可以加深理解利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力。
二、课程设计主要内容及要求1.问题描述:某高校有四类员工:教师、实验员、行政人员和教师兼行政人员。
共有的信息包括:编号、姓名、性别、年龄等。
其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息有:所在实验室、职务;行政人员还包含的信息有:政治面貌、职务等。
2.功能要求及问题解决方案:·功能要求:(1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3) 显示功能:可显示当前系统中所有记录,每条记录占一行。
(4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5) 删除功能:主要实现对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
(6) 统计功能:能根据多种参数进行人员的统计。
能统计四类人员数量以及总数,统计男、女员工的数量。
(7) 保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
企业员工信息管理系统设计与实现
企业员工信息管理系统设计与实现摘要本论文首先对现阶段企业员工信息管理的基本情况进行了分析,提出开发本系统要解决的问题,以及从长远考虑所要达到的目的,对系统进行了详细的需求分析,其次根据系统的实现功能和使用环境对系统做了总体规划,最后完成了模块的划分和数据库的设计与实现,并对系统进行了测试。
本系统开发主要包括前台应用程序的开发和后台数据库的建立与维护两方面。
系统前台主要实现用户薪资、考勤、文章信息的查看,以及发表意见建议等功能。
系统前台选用了Css javascript、html等作为主要的编程语言。
后台主要实现了员工的查询、员工变动信息更新、考勤管理、薪资管理、事项管理、站内文章信息管理以及意见建议管理等功能。
系统选用SQL 数据库。
利用.NET动态网页编程技术实现前后台的数据交互。
在企业的经营生产中,员工信息已成为企业经营管理中不可缺少的一部分,为管理者进行管理和进行各种人士调配活动提供了重要的依据,在生产分配安排中将发挥越来越重要的作用。
关键词:员工信息管理系统、前台、后台、交互。
Enterprise Personnel Management System design andimplementationAt frirst,this paper analyse the situation of enterprise personnel management at the present stage.Point out the question needing to solve for development the system and the long.term purpose. So that the system carried out a detailed needs analysis, then it completed the module design and the design and realization of database and test according to the functions and main implementation for the system.The system mainly includes developing the application inrerface of front-end and building up data-base of back-end. The main functions of the before part include salary,attendance,checking theinformation of article, as well as publishing suggestions, etc. The system use Css javascript, html, etc., as the main programming language.The main functions of background part include the staff inquiry, the staff changes in the information update, attendance management, payroll management, issues management, the article in the station management, as well as suggestions management. The system use SQL database as background database. Using .NET pagesDynamic web page programming to achieve the data Interactive.In the progress of enterprises operating and production, the information of staffs has become a business management of most important part. It will provides an more and more important function for the management of decision-making and personnel.Keywords:Personnel Management System、beforeground、background、interactive第一章.绪论1.1.企业员工信息管理系统的开发背景目前,一些企业对员工信息的管理还存在诸多问题,单靠人力进行员工信息的管理是不够的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、题目要求题目名称:设计将十六进制数转换成十进制数的函数和员工信息管理程序。
内容:1、十六进制转换成十进制数:写一个函数,输入一个十六进制数,输出相应的十进制数。
2、员工信息管理程序主要用结构体数组实现,用结构体表示每项记录,数据为:员工编号、姓名、性别、年龄、工龄、职务、部门、住址。
设计各个函数,分别实现以下功能:(1)录入:完成职工信息的输入;(2)删除:完成职工信息的删除;(3)修改:允许对已经录入的数据重新进行编辑、修改;(4)显示:显示所有职工的信息;(5)查询:a.按姓名查找职工记录;b.输入部门、性别,输出所有符合条件员工记录;c.输入年龄范围,性别,输入所要符合条件员工记录;d.输入部门,按工龄对所有符合条件员工记录排序输出;(6)退出程序。
设计菜单,通过选择菜单调用以上各函数。
要求:利用C语言编写上述程序,开发环境可采用Turbo C 2.0 或Visual C++ 6.0等。
二、算法设计1、十六进制转换成十进制数:写一个函数,输入一个十六进制数,输出相应的十进制数。
(1)把输入的十六进制数看成一个数组(char s[N]),十六进制各个位的字符代为相应数组的元素(s[i])。
(2)写出主函数通过调用将十六进制数转为十进制数的函数(fun),具体利用“for循环”逐一对s[i]中的元素进行转换,最终得到十进制数“sum”,从而实现将十六进制数转为十进制数。
(3)程序流程图如下图1程序流程图12、员工信息管理程序。
主要用结构体数组实现,用结构体表示每项记录,数据为:员工编号、姓名、性别、年龄、工龄、职务、部门、住址。
(1)在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。
确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;(2)首先建立一结构体数组,元素为员工编号、姓名、性别、年龄、工龄、职务、部门、住址。
(3)写出各个功能函数:a、void menu()函数实现显示职工管理系统的主菜单的功能;b、void menuFind()函数实现显示查询的主菜单;c、void show()函数显示所有的员工信息;d、void Edit()显示提示录入职工信息的菜单;e、void sortByWorkYears()实现对员工信息按工龄进行排序;f、void inputEmpInfo函数实现对员工信息的录入;g、void showAll()函数显示所有的员工信息;h、void deletEmp()实现对指定员工信息的删除;i、Emp*findByEmpNo()函数实现按员工好进行查找;j、void changeEmp()函数实现对员工信息的修改;k、void findByName()函数实现按姓名进行查询;l、void findBydepAndSex()函数实现按部门、性别查询;m、void findByAgeAndSex()函数实现按年龄和性别进行查询;n、void findByDep()函数实现按部门进行员工信息的查询;o、void FindEmp()函数通过调用其他函数实现各种要求的查询;(4)写出主函数,通过调用各个子函数实现函数功能。
从而实现程序功能。
(5)程序流程图如下图2程序流程图2三、编程实现程序的具体C语言代码如下:第1题:#include<stdio.h>long fun(char*s);#define N 50void main(){long m;char s[N];printf("输入十六进制数:");scanf("%s",s);m=fun(s);printf("十进制数为:%ld",m);}long fun(char*s){int i,t;long sum=0;for(i=0;s[i];i++){if(s[i]<='9')t=s[i]-'0';else t=s[i]-'a'+10;sum=sum*16+t;}return sum;}第2题:#include <stdio.h>#include <string.h>typedef struct Emp{int EmpId;char EmpName[20];char Sex;int Age;int WorkYears;char Position[20];char Department[20];char Address[30];}Emp;struct{Emp employee[100];int usedFlag[100];int sortByWorkYears[100];}EmpArray;void sortByWorkYears(){int i;int j;int v;for (i = 0; i < 100; i++){EmpArray.sortByWorkYears[i] = i;}for (i = 0; i < 99; i++){for (j = i + 1; j < 100; j++){if (EmpArray.employee[i].WorkYears < EmpArray.employee[j].WorkYears){v = EmpArray.sortByWorkYears[i];EmpArray.sortByWorkYears[i] = EmpArray.sortByWorkYears[j];EmpArray.sortByWorkYears[j] = v;}}}}void menu(){printf("\n\n------------------------------------------------------------------\n");printf("请选择操作的种类:\n");printf("I|i ---- 录入:完成职工信息的输入\n");printf("D|d ---- 删除:完成职工信息的删除;\n");printf("C|c ---- 修改:允许对已经录入的数据重新进行编辑、修改;\n");printf("S|s ---- 显示:显示所有职工的信息;\n");printf("F|f ---- 查询:\n");printf("Q|q ---- 退出程序。
\n");printf("$:");}void menuFind(){printf("a. 按姓名查找职工记录;\n");printf("b. 输入部门、性别,输出所有符合条件员工记录;\n");printf("c. 输入年龄范围,性别,输入所有符合条件员工记录;\n");printf("d. 输入部门,按工龄对所有符合条件员工记录排序输出;\n");printf(" 其他键返回上级菜单!\n");printf("$:");}Emp* AllocateEmp(){int i = 0;for (i = 0; i < 100; i++){if (0 == edFlag[i]){edFlag[i] = 1;return &EmpArray.employee[i];}}return 0;}void show(Emp* pEmp){printf("\n-------------------------员工信息---------------------------\n");printf("员工号:%d\n",pEmp->EmpId);printf("姓名:%s", pEmp->EmpName);printf("\n性别:%c", pEmp->Sex);printf("\n年龄:%d", pEmp->Age);printf("\n工龄:%d", pEmp->WorkYears);printf("\n职务:%s", pEmp->Position);printf("\n部门:%s", pEmp->Department);printf("\n住址:%s", pEmp->Address);}void Edit(Emp* pEmp){printf("请输入5位员工号:");scanf("%d", &pEmp->EmpId);printf("\n请输入姓名:");scanf("%s", pEmp->EmpName);printf("\n请输入性别F- 女M- 男:");scanf("%s", &pEmp->Sex);printf("\n请输入年龄:");scanf("%d", &(pEmp->Age));printf("\n请输入工龄:");scanf("%d", &(pEmp->WorkYears));printf("\n请输入职务:");scanf("%s", pEmp->Position);printf("\n请输入部门:");scanf("%s", pEmp->Department);printf("\n请输入住址:");scanf("%s", pEmp->Address);}void inputEmpInfo(){Emp* pEmp = 0;pEmp = AllocateEmp();Edit(pEmp);}void showAll(){int i = 0;for (i = 0; i < 100; i++){if (1 == edFlag[i]){show(&EmpArray.employee[i]);}}}void deleteEmp(){int i;int empNo = 0;printf("\n请输入要删除的员工的员工号:");scanf("%d", &empNo);for (i = 0; i < 100; i++){if (EmpArray.employee[i].EmpId == empNo){edFlag[i] = 0;printf("删除成功!\n");break;}}}Emp* findByEmpNo(int empNo){int i;for (i = 0; i < 100; i++){if (EmpArray.employee[i].EmpId == empNo){return &EmpArray.employee[i];}}return 0;}void changeEmp(){Emp* pEmp;int empNo = 0;printf("\n请输入要修改的员工的员工号:");scanf("%d", &empNo);pEmp = findByEmpNo(empNo);if (0 == pEmp){printf("没有找到输入的员工号\n");}else{}}void findByName(){char EmpName[200];int i;int findCount;findCount = 0;printf("\n请输入员工的姓名:");scanf("%s", EmpName);for (i = 0; i < 100; i++){if (0 == strcmp(EmpArray.employee[i].EmpName, EmpName)){show(&EmpArray.employee[i]);findCount++;}}printf("\n一共找到%d个员工。