职工信息管理系统

合集下载

职工信息管理系统【最新范本模板】

职工信息管理系统【最新范本模板】

职工信息管理系统目录一,需求文档…………………………………………………………………………………二,设计文档……………………………………………………………………………….. 三,系统说明书及用户操作手册………………………………………………。

.。

四,预计人员分配资源调配和进度表………………………………………。

五,分工表………………………………………………………………………………….一,需求文档:1,编写目的:职工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以职工管理系统应该能够为用户提供充足的信息和快捷的查询手段。

通过对用户需求进行调查分析,写出需求分析文档作为项目设计的基本准则要求,以及系统分析员进行系统分析和测试人员进行测试时的手册,方便设计人员进一步设计规划。

2,需求概述:设计一个职工信息管理系统,是其具有以下功能:2。

1建立职工信息数据,录入职工信息(包括职工编号、姓名、性别、工资、出生年月、参加工作时间和年龄)并保存;2.2根据职工信息表,建立只含有姓名和年龄的职工信息简表;2.3浏览所有职工信息;2.4实现职工信息的增、删、查、改;2.5实现职工信息按姓名字母顺序或职工编号进行排序。

3,需求说明:职工信息管理系统所实现的功能:3。

1添加新职工信息:实现对新加入职工信息的录入,所有的信息当中主码即职工信息编号,必须填写。

3。

2删除职工信息:当公司有职工因故离职,需要删除职员信息时,释放掉它所占据的数据库空间,就可以在列表中选中所要删除的记录,然后点击删除。

如果确认删除则在弹出的消息框中点击确定即可删除所选的记录。

3。

3修改职工信息:由于某种原因可能导致在记录员工信息时出现错误,需要对员工信息进行修改。

在员工信息系统主窗口中选择所要修改的成员信息进行修改,点击修改后将会弹出消息框,如果确认修改则点击确定,则修改数据成功。

3。

4查询职工信息:支持多条件查询,根据职工的姓名、职工编号等信息进行查询,并显示所有符合查询条件的职工信息。

企业员工信息管理系统【范本模板】

企业员工信息管理系统【范本模板】

本科毕业设计说明书企业员工信息管理系统的设计与实现EMPLOYEE INFORMATION MANAGEMENT SYSTEM DESIGN AND IMPLEMENTATION学院(部):专业班级:学生姓名:指导教师:2012年5月25日企业员工信息管理系统的设计与实现摘要现今互联网发展越来越迅速,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选.因此在信息化科技飞速发展的今天,借助于电脑,通过员工信息管理系统管理各部门职工,能为企业人力资源的管理者提供人性化的服务。

同时也能为企业的员工提供一定的方便。

本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了企业员工信息管理的工作效率和企业的信息化的水平.本论文从员工信息管理系统的初步调查开始,详细介绍员工信息管系统的需求分析和数据流程分析,并进行了系统总体结构设计、数据结构和数据库设计、输入输出设计等。

关键词:J2EE,Mysql,struts2,企业员工信息管理EMPLOYEE INFORMATION MANAGEMENT SYSTEMDESIGN AND IMPLEMENTATIONABSTRACTNowadays, the Internet development is fast, bringing people's work and life tremendous convenience with efficiently.Therefore,the rapid development of technology of information technology today, through the use of computers,employee information management system to manage the various departments and workers,to provide personalized service for corporate human resources managers.Also provides a convenience for the employees of the enterprise。

职工管理系统课程设计报告

职工管理系统课程设计报告

职工管理系统课程设计报告1.引言职工管理系统是一种企业管理软件,它的主要作用是帮助企业管理职工的基本信息、工资、考勤、培训等内容。

本文将介绍我们小组设计的职工管理系统。

2.概述职工管理系统拥有多个功能模块,包括人事管理、工资管理、考勤管理、培训管理等。

其中,人事管理模块包括职工的基本信息、职务信息、部门信息等;工资管理模块包括职工的薪资计算、社保、公积金等;考勤管理模块包括职工的出勤记录、加班、请假等;培训管理模块则包括职工的培训计划、课程安排、培训记录等。

3.功能设计我们小组的职工管理系统,采用了Java语言进行开发,使用MVC 架构模式进行开发。

具体功能设计如下:3.1人事管理模块人事管理模块用于管理职工的基本信息、职务信息、部门信息等。

其中,职工的基本信息包括姓名、性别、出生日期、身份证号等;职务信息包括职务名称、职级、任职时间等;部门信息包括部门名称、部门经理、部门编号等。

除此之外,人事管理模块还可以进行权限管理,设置不同角色的权限不同。

3.2工资管理模块工资管理模块包括职工的薪资计算、社保、公积金等。

职工的薪资计算需要考虑个人工资、绩效、考勤等因素,同时还要进行税前扣减、税后扣减等计算。

社保、公积金等则需要根据国家政策进行计算。

3.3考勤管理模块考勤管理模块用于管理职工的出勤记录、加班、请假等。

出勤记录需要记录职工的出勤时间、迟到早退、旷工等,加班需要统计职工的加班时间和加班费用,请假需要记录职工的请假类型、请假时间等。

3.4培训管理模块培训管理模块用于管理职工的培训计划、课程安排、培训记录等。

培训计划需要包括培训的目标、内容、时间、地点等,课程安排需要包括课程名称、讲师、授课时间、授课地点等,培训记录需要记录职工的培训情况、培训效果等。

4.技术选型我们小组采用了Spring Boot、MyBatis等技术进行开发,前端采用了Bootstrap、jQuery等技术进行开发。

其中,Spring Boot提供了优雅的开发方式,MyBatis则提供了便捷的数据库交互方式,Bootstrap、jQuery则为前端提供了丰富的UI组件和JavaScript库。

职工信息管理系统设计python

职工信息管理系统设计python

职工信息管理系统设计python1. 系统功能需求分析1.1 系统管理功能针对管理员用户,需要具备用户管理、角色管理、权限管理等功能,以便管理员对系统进行管理和维护。

1.2 职工信息管理功能能够实现对职工基本信息的增删改查操作,包括但不限于职工尊称、性莂、芳龄、部门、职位等基本信息的管理。

1.3 统计报表功能能够生成职工信息统计报表,提供数据分析和可视化展示功能,帮助管理者进行决策和分析。

2. 系统技术选型2.1 开发语言选择Python作为开发语言,Python具有简洁、高效的特点,适合快速开发。

2.2 数据库使用MySQL作为系统数据库,MySQL是一款成熟可靠的关系型数据库,能够满足系统数据存储和查询需求。

2.3 框架选择Django作为系统开发框架,Django是一款开发快速、功能强大的Web框架,提供了丰富的开发工具和插件,适合构建企业级应用。

3. 系统架构设计3.1 前端架构采用HTML、CSS、JavaScript等前端技术,实现用户界面的设计和交互功能。

3.2 后端架构使用Django作为系统后端框架,通过Python语言实现系统的业务逻辑和数据处理功能。

3.3 数据库架构使用MySQL作为系统数据库,设计合理的数据表结构,确保系统数据存储的准确性和完整性。

4. 系统开发与测试4.1 开发环境搭建搭建Python、Django、MySQL等开发环境,并进行配置和调试,确保开发环境的稳定性。

4.2 系统开发根据功能需求和技术选型,进行系统开发工作,包括前端界面设计、后端业务逻辑实现、数据存储和处理等工作。

4.3 系统测试进行系统功能测试、性能测试、安全测试等,确保系统的稳定性和安全性。

5. 系统部署与维护5.1 系统部署将系统部署到生产环境中,配置服务器、数据库等,确保系统能够正常运行。

5.2 系统监控与维护定期对系统进行监控和维护,包括但不限于系统性能优化、安全漏洞修复、数据备份等工作。

C语言课程设计报告:职工信息管理系统程序设计

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.编程中遇到的困难及解决方法温故而知新,可以为师矣。

教职工信息管理系统

教职工信息管理系统

ABCD
集成测试
将所有模块集成后进行测试,确保模块间通信无 误。
优化建议
根据测试结果,对系统进行必要的优化,如调整 数据库查询语句、优化代码结构等。
05 系统应用与效果评估
系统应用场景与效果
教职工信息管理
系统主要用于管理教职工的基本信息,如姓名、性别、年龄、学历、职称等。
课程与教学管理
系统支持对教职工所授课程、教学计划、教学评估等进行管理。
包括教职工的姓名、性别、年龄、学历、职 称等基本信息的管理。
教职工考勤管理
记录教职工的考勤信息,包括请假、加班、 出差等情况。
教职工合同管理
管理教职工的合同信息,包括合同签订、续 签、解除等操作。
教职工绩效评估
对教职工的工作绩效进行评估,记录评估结 果并根据绩效进行激励。
学生信息管理需求
学生基本信息管理
报表生成模块
根据用户需求生成各类报表,如教职工花名 册、职称结构统计等。
04 系统实现
开发环境与工具
开发环境
系统开发环境应选择稳定、安全 的操作系统,如Windows
Server或Linux,并安装必要的 开发软件,如Visual Studio、
Eclipse等。
数据库
选择合适的数据库管理系统,如 MySQL、Oracle或SQL Server,
用于存储和查询教职工信息。
前端开发工具
使用HTML、CSS、JavaScript 等前端技术,配合jQuery、
Bootstrap等框架,构建用户友 好的界面。
开发过程与关键技术
需求分析
系统设计
编程实现
明确系统的功能需求,确定 系统的主要模块和业务流程。

教职工信息管理系统

教职工信息管理系统

教职工信息管理系统组织机构调查教职工信息管理系统是中小学用来对教职工的基本信息、职位调动、考勤管理、薪酬管理等进行综合管理的一个信息管理系统。

根据客户要求,系统要能对教职工信息、人事档案等基本信息实现录入、修改、查询和删除等操作,并且还要实现包括考勤管理、职位调动管理、工资核算在内的各项管理内容。

项目系统对应的组织机构图系统的组织机构图系统数据类规划按照实体分析方法设计的数据类有:1.用户基本信息数据类:该类数据反映用户的用户名、真实姓名、用户描述、随机生成的密码、工号、部门等信息;2.角色管理数据类:该类数据记录角色的角色名、角色描述等信息;3.功能点管理数据类:该类数据记录功能点的功能ID、父功能ID、功能点名称、功能点描述、功能点URL、功能点是否可见等信息;4.薪酬管理数据类:该类数据记录了有关教职工的工资情况的信息,例如:教职工号、奖金、补贴、基本工资、等参数信息;5.考勤管理数据类:该类数据记录了有关考勤的基本信息,例如:迟到、请假、早退、病假、事假等类型的信息;6.职位调动管理数据类:该类数据记录了教职工职位调动的基本信息,包含原部、原职位、新部门、新职务、以及调入和调出的时间。

系统分析需求分析本系统面向的用户分为六类:系统管理员、考勤管理员、薪酬管理员、职位调动管理员、用户权限管理员、教职工管理员。

以上六类用户使用系统做什么,具体阐述如下:1.系统管理员使用该系统对用户信息、用户组信息、用户密码信息、用户角色权限、在线用户进行管理;2.考勤管理员使用该系统对基本考勤信息和其他考勤信息进行添加、修改、删除、查询以及形成考勤信息表等操作;3.薪酬管理员使用该系统进行教职工的工资计发、工资查询以及形成工资信息报表等;4.职位调动管理员使用该系统主要是对教职工的职位调动基本信息进行管理以及形成职位调动信息报表;5.用户权限管理员使用系统主要是对使用该系统的用户分配相应的权限;6.教职工管理员使用系统主要是对教职工的基本信息进行相应的管理,包含教职工添加、修改、删除、查询以及形成基本信息报表等。

教职工管理系统

教职工管理系统

教职工管理系统教职工管理系统随着教育事业的快速发展,学校的规模和教职工数量逐步提升,管理难度也逐渐加大。

为了解决教职工管理的问题,学校需要建立一套科学的教职工管理系统。

该系统应包括以下主要模块:教职工信息管理、考勤管理、绩效考核管理、奖惩管理、教育培训管理等。

1. 教职工信息管理模块教职工信息管理模块是系统的基本模块,负责管理教职工的基本信息。

该模块应包括教职工的姓名、性别、身份证号、联系方式、所属科室、职称、从业时间等信息。

系统管理员可以通过修改和查询操作,实现对教职工信息的维护和管理。

2. 考勤管理模块考勤管理模块是保证教职工工作纪律和工作效率的重要模块。

该模块应包括教职工的出勤情况、请假情况等信息。

通过该模块可以方便地进行教职工的考勤记录和请假审核工作,及时发现和解决考勤问题。

3. 绩效考核管理模块绩效考核管理模块是教职工管理系统中的关键模块之一。

该模块应能够实现对教职工绩效的测评、分析和评估。

系统管理员可以设置评分标准和考核周期,通过对教职工的工作表现进行科学评估和分析,及时发现绩效问题并落实奖惩措施。

4. 奖惩管理模块奖惩管理模块是为了调动教职工的积极性和创造性,对其行为进行激励和惩戒的模块。

该模块应包括教职工的奖励、惩罚历史记录、奖金、奖状等信息的管理。

系统管理员可以设置奖惩标准和奖励方式,及时对教职工的表现进行奖惩措施,调动其工作积极性和创造性。

5. 教育培训管理模块教育培训管理模块是为了提升教职工的素质和教学能力,改进教学管理方式和方法的模块。

该模块应包括教职工的教学、培训历史记录、培训计划、培训资料等信息的管理。

系统管理员可以设置教育培训计划和培训方式,及时为教职工提供专业技能培训和教学方法培训,提升其教学水平和管理能力。

总之,教职工管理系统能够有效地提高教职工管理自动化水平,减轻管理负担,提高教职工管理效率,更好地实现教育教学管理工作的科学化、规范化和人性化。

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

摘要:本论文设计了程序:《C语言课程设计指导书》第11题职工信息管理系统。

这个管理系统能对职工信息(包括职工号、姓名、性别、年龄、学历、工资、住址、电话等)进行有效地信息录入、浏览、查询、插入、删除等操作,会给用户带来很大的便利。

一职工信息管理系统1.1 题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)职工信息录入功能(职工信息用文件保存)(3)职工信息浏览功能(4)职工信息查询功能,查询方式按职工号查询等按学历查询等(5)职工信息删除、修改功能(可选项)[提示]建立职工信息结构体,结构体成员包括职工号、姓名、性别、年龄、学历、工资、住址、电话。

1.2 需求分析根据题目要求,要求对职工信息进行输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、浏览、插入、修改等操作;另外还应提供键盘式选择菜单实现功能选择。

1.3总体设计根据需求分析,可以对这个系统的设计分为以下几个模块:职工信息管理系统数据输入数据浏览数据查找数据插入退出图1.3 系统功能模块图1.4详细设计1.4.1 主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。

其中各功能模块用菜单方式选择。

[流程图]:显示各功能选项N输入n ,判断n 是否是0-5Y根据n的值调用各功能模块函数图1.4.1 主函数流程图[程序]:/*****************主函数**********************/main (){menu();}/*****************menu函数********************/void menu(){ int n,w1;/*变量n保存选择菜单数字,w1判断输入的数字是否在功能菜单对应数字范围*/ do{puts("\t\t*****************menu****************\n\n");puts("\t\t\t\t1.Enter new data");puts("\t\t\t\t2.Browse all");puts("\t\t\t\t3.Search ");puts("\t\t\t\t4.add");puts("\t\t\t\t5.Exit");puts("\n\n\t\t***********************************\n");printf("Choice your number(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:add();break;/*插入模块*/case 5:exit(0); /*退出*/}}注:menu函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模块中,此外把menu函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。

用结构体来存放职工信息:/********************结构体*******************/struct worker{char number[11];char name[20];char sex[20];char adress[20];char xueli[20];char telephone[20];char age[20];char salary[20];}wor[N];/* wor[N]中每个数组元素对应一个职工*/其中可以根据宏定义# define N随时对N的值进行调整,扩大信息的储存量。

1.4.2各功能模块设计(1)输入模块[需求分析] 对信息进行输入。

[流程图]:输入用户要输入职工记录的个数ni从0到n-1调用输入函数input(i)i!=0Y保存调用函数save( n)图1 输入模块流程图[程序]:/********************输入模块*******************/void enter()/*输入函数*/{int i,n;printf("How many workers(0-%d):",N-1);scanf("%d",&n);/*输入记录的个数,赋值给n*/for(i=0;i<n;i++)/*通过for 循环语句依次输入N 个职工信息数据*/{ printf("\n Input %dth worker record.\n",i+1);input(i);/*调用单个输入函数*/}if(i!=0)save(n);/*调用保存函数*/printf_back(); /*一个任务结束时让用户选择是浏览还是返回*/}(2)浏览模块[需求分析] 该模块的功能是显示所有职工记录信息。

[流程图]:图2 浏览模块流程图[程序]:/****************浏览(全部)模块***************/browse() /*浏览(全部模块)*/{int i,j,n;n=load(); /*调用加载函数,并计算可以记录的个数*/printf_face(); /*调出显示数据结构项目函数*/for(i=0;i<n;i++) /* for 循环语句用以分屏显示*/{if((i!=0)&&(i%10==0))/*判断i 值能否整除10,每10行一屏显示*/{printf("\n\nPass any key to continue...");getchar();puts("\n\n");}按任意键显示下一屏 按任意键返回主菜单 显示职工记录(10个一屏)}printf("\tThere are %d record.\n",n);/*提示用户储存信息数量*/printf("\nPass any key to back...");getch();/*按任意键*/menu();/*返回主菜单*/} (3)查找模块:图3 查找模块流程图[程序]:/***************查找模块***************/search() /*查找模块*/{int c,w1;do /* do- while 循环语句用来判断用户的选择是否在程序规定之内*/{puts("\nsearch by=>\n\n1).number2}.xueli3).cancel and back");printf("Which you needed?:[ ]\b\b");scanf("%d",&c);if(c>3||c<1) /*对选择的数字作出判断*/{是否找到职工记录输入一整型数值 提示没有找到YN 查找模块1,2,还是3按职工号查找,调用Search1()按学历查找,调用Search2() 返回主菜单3 21[流程图]:getchar();}}while(c>3||c<1);{switch(c) /* switch 语句提供按不同类别进行查找功能*/{case 1:search1();break; /*按职工号进行查找*/case 2:search2();break; /*按姓名进行查找*/case 3:menu();break; /*返回主菜单*/}}}错误!未找到引用源。

/***************按职工号查找模块***************/[流程图]:图4 按职工号查找模块流程图[程序]:search1(){int i,n,k,w1=1,w2,w3,w4;struct worker s; /*定义结构体变量s ,用以储存输入的number 的值,便于进行比较*/ n=load(); /*加载将要记录的个数*/do /*该do- while 循环语句判断是否继续执行该函数*/按职工号查找模块用户作出选择,输入一整型数值返回主菜单 修改 1,2,还是3继续查找do /*该do- while循环语句判断是否找到要查找的对象*/{k=-1;printf("\n\nEnter number that you want to search! number:");scanf("%s",s.number);printf_face();/*调出显示数据结构项目函数*/for(i=0;i<n;i++) /* for循环语句用来判断原数据信息中是否有与输入职工号相同的职工号*/if(strcmp(s.number,wor[i].number)==0) /*原数据信息中找到与输入职工号相同的职工号*/{ k=i;printf_one(k);break;}if(k==-1) / *原数据信息中没有找到与输入职工号相同的职工号*/{printf("\n\nNo exit!please");printf("\n\nAre you again?\n\t1).again 2).No and back [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();/*返回主菜单*/}}while(k==-1&&w1==1);/*在没有找到且想再次查找的情况下继续进行循环*/ w4=0;w3=0;if(k!=-1) /*在查找到的情况下*/{printf("\n\nWhat do you want to do?\n\t1).Search another 2).Modify 3).Back menu [ ]\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();/*返回主菜单*/}错误!未找到引用源。

相关文档
最新文档