职工信息管理系统设计

合集下载

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

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

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

.。

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

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

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

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

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

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

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

3。

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

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

3。

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

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

3。

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

JAVA课设职工信息管理系统

JAVA课设职工信息管理系统

*******************实践教学*******************JAVA课程设计题目:职工信息管理系统专业班级:姓名:学号:指导教师:成绩:摘要用计算机管理职工信息具有可靠、方便、省时省力的特点。

当今各种管理软件大部分只针对一个公司或者更大的范围来编写,它具有通用性良好的特点,但对于小领域如一个系来说,它就很难适应这个系特殊的管理。

而该设计正是基于职工信息管理的特点来开发的。

它可以实现职工信息的录入、添加、修改、删除、查询、保存到数据库等基本功能。

同时还为管理者提供统计、制表、系统日志、开介绍信等特色功能。

该系统具有界面友好、操作方便、成本低廉、符合管理者习惯的特点。

另外,系统采用Java语言开发,具有可移植性良好、不依赖于操作系统的特点。

同时采用My SQL数据库管理系统做数据库,是因为它具有管理方便,存储量大的特点,适合计算机系信息管理的要求,它主要包含以下几个模块:系统权限的设定、原始数据录入、数据的汇总及查询等。

本文系统的分析了软件开发的背景以过程;首先介绍了软件的开发环境,其次介绍了本软件的详细设计过程:数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能。

关键词:职工管理信息系统职工信息目录一、需求分析 (1)二、总体设计 (2)三、详细设计 (3)3.1基础数据定义 (3)3.2主要功能实现 (5)3.3数据库表定义 (25)四、测试 (28)4.1登录主界面 (28)4.2管理员身份登录主界面 (28)4.3普通用户身份登录主界面 (29)4.4t添加职工信息 (29)4.5修改职工信息 (30)4.6职工信息查询 (30)4.6删除职工信息 (31)4.6添加用户信息 (31)4.6修改用户信息 (32)4.6用户信息查询 (32)4.6删除用户信息................................................................................................................. ..334.6用户密码修改 (33)设计总结 (34)参考文献 (35)致谢 (36)一、需求分析1.1问题描述对职工信息进行管理,包括:职工信息的录入、修改、删除、更新,还有对登录用户进行管理,包括用户信息的录入、删除、修改,密码修改等管理,还有对用户信息的现实打印,查找等。

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

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

职工管理系统课程设计报告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 系统监控与维护定期对系统进行监控和维护,包括但不限于系统性能优化、安全漏洞修复、数据备份等工作。

企业员工信息管理系统设计与实现

企业员工信息管理系统设计与实现

企业员工信息管理系统设计与实现摘要本论文首先对现阶段企业员工信息管理的基本情况进行了分析,提出开发本系统要解决的问题,以及从长远考虑所要达到的目的,对系统进行了详细的需求分析,其次根据系统的实现功能和使用环境对系统做了总体规划,最后完成了模块的划分和数据库的设计与实现,并对系统进行了测试。

本系统开发主要包括前台应用程序的开发和后台数据库的建立与维护两方面。

系统前台主要实现用户薪资、考勤、文章信息的查看,以及发表意见建议等功能。

系统前台选用了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.企业员工信息管理系统的开发背景目前,一些企业对员工信息的管理还存在诸多问题,单靠人力进行员工信息的管理是不够的。

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. 功能需求2.1 职工信息录入系统提供一个录入界面,管理者可以输入职工的基本信息,包括职工编号、姓名、性别、年龄、职位等。

系统应该能够对输入的信息进行合法性验证,并将信息存储到合适的数据结构中。

2.2 职工信息查询系统提供一个查询界面,管理者可以根据职工的编号、姓名、职位等条件进行查询。

系统应该能够根据查询条件从数据结构中快速定位到符合条件的职工信息,并将结果展示给管理者。

2.3 职工信息修改系统提供一个修改界面,管理者可以根据职工的编号或者姓名等条件选择一个职工信息进行修改。

系统应该能够根据选择的职工信息,提供可修改的字段,并对输入的修改信息进行合法性验证,并更新数据结构中对应的职工信息。

2.4 职工信息删除系统提供一个删除界面,管理者可以根据职工的编号或者姓名等条件选择一个职工信息进行删除。

系统应该能够根据选择的职工信息,从数据结构中删除对应的职工信息,并给出相应的提示。

3. 数据结构设计为了高效地管理职工信息,我们可以采用链表作为基本的数据结构。

每一个节点表示一个职工信息,包括职工编号、姓名、性别、年龄、职位等字段。

节点之间通过指针进行连接,形成一个链表结构。

3.1 链表节点设计每一个链表节点包含以下字段:- 职工编号(int)- 姓名(string)- 性别(string)- 年龄(int)- 职位(string)- 指向下一个节点的指针(Node*)3.2 链表操作设计- 初始化链表:创建一个空链表,并初始化头节点指针为NULL。

- 添加节点:根据输入的职工信息创建一个新节点,并将其插入到链表的合适位置。

- 删除节点:根据职工的编号或者姓名等条件,找到对应的节点,并将其从链表中删除。

教职工信息管理系统设计报告

教职工信息管理系统设计报告

教职工信息管理系统设计报告1. 背景教职工信息管理系统是为了方便学校对教职工信息进行管理和查询而设计的一套系统。

传统的教职工信息管理方式通常采用纸质档案,操作繁琐且易丢失,无法满足现代学校对快速、准确、方便的管理需求。

设计一个基于计算机网络的教职工信息管理系统,可以实现信息的集中存储、快速查询和更新、权限控制等功能,将大大提高学校教职工信息的管理效率和准确性。

2. 分析2.1 系统需求分析2.1.1 功能需求分析教职工信息管理系统需要实现以下功能:•教职工信息录入:包括基本个人信息、任教科目、薪资等;•教职工信息查询:按条件查询教职工个人信息,并支持导出查询结果;•教职工信息修改:对已录入的教职工个人信息进行修改;•权限控制:不同用户具有不同的权限,只有管理员才能进行数据修改操作;•数据备份与恢复:定期备份数据,并能够在需要时进行数据恢复。

2.1.2 性能需求分析教职工信息管理系统需要满足以下性能需求:•系统响应快:用户查询、录入、修改操作都需要在较短的时间内完成;•数据安全可靠:系统需要保证数据的完整性和机密性,防止数据泄露和损坏;•并发处理能力:系统需要支持多个用户同时进行操作,保证数据一致性。

2.2 系统设计方案2.2.1 系统架构设计教职工信息管理系统采用三层架构设计,包括表现层、业务逻辑层和数据访问层。

•表现层:负责与用户进行交互,接收用户请求并展示结果;•业务逻辑层:负责处理用户请求,实现各项功能,并调用数据访问层进行数据库操作;•数据访问层:负责与数据库进行交互,执行数据库操作。

2.2.2 数据库设计教职工信息管理系统的数据库主要包括以下表:•教职工表(Employee):存储教职工的基本信息;•科目表(Subject):存储所有的教学科目;•薪资表(Salary):存储教职工的薪资信息。

不同表之间通过主外键关联,实现数据的一致性和完整性。

3. 结果经过系统设计和开发,教职工信息管理系统已经实现了以下功能:•教职工信息录入:管理员可以通过系统界面录入教职工的基本信息、任教科目和薪资等;•教职工信息查询:用户可以根据条件进行查询,并支持导出查询结果为Excel文件;•教职工信息修改:管理员可以对已录入的教职工个人信息进行修改;•权限控制:系统根据用户角色进行权限控制,只有管理员才能进行数据修改操作;•数据备份与恢复:系统定期自动备份数据,并提供恢复功能。

c语言课程设计职工信息管理系统

c语言课程设计职工信息管理系统

c语言课程设计职工信息管理系统一、教学目标本课程的教学目标是使学生掌握C语言职工信息管理系统的基本概念、设计和实现方法。

通过本课程的学习,学生应能理解职工信息管理系统的需求分析、系统设计、编码实现和测试评估等环节,掌握C语言编程的基本技能,并培养解决实际问题的能力。

具体来说,知识目标包括:掌握职工信息管理系统的功能模块及其相互关系;理解C语言的数据类型、运算符、控制结构、函数等基本语法;了解软件工程的基本原理和方法。

技能目标包括:能够使用C语言独立完成职工信息管理系统的设计和实现;具备基本的调试和优化代码的能力;能够进行团队合作,合理分工,共同完成项目。

情感态度价值观目标包括:培养学生对计算机科学的兴趣和热情,提高他们对编程学习的自信心;培养学生具备良好的编程习惯和团队协作精神,增强他们的责任感和使命感。

二、教学内容本课程的教学内容主要包括以下几个部分:1.职工信息管理系统的基本概念和架构:介绍职工信息管理系统的功能模块,如职工信息录入、查询、修改和删除等,以及各模块之间的关系。

2.C语言基础知识:讲解C语言的数据类型、运算符、控制结构、函数等基本语法。

3.软件工程方法:介绍需求分析、系统设计、编码实现、测试评估等软件工程基本原理和方法。

4.职工信息管理系统的实现:通过实际编码,讲解如何使用C语言实现职工信息管理系统的各个功能模块。

5.调试与优化:教授如何使用调试工具对代码进行调试,以及如何对代码进行优化,提高系统性能。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:讲解C语言的基本语法和职工信息管理系统的设计原理。

2.案例分析法:分析实际案例,使学生更好地理解职工信息管理系统的实现过程。

3.实验法:安排实验课程,让学生亲自动手编写代码,实现职工信息管理系统。

4.小组讨论法:学生进行小组讨论,分享学习心得,互相答疑解惑。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《C语言程序设计》等。

高校教职工信息管理系统的设计与实现

高校教职工信息管理系统的设计与实现

感谢观看
3、Web框架:对于构建Web应用程序,可以选择Django或Spring等Web框架。 Django是一个轻量级的框架,适合快速开发小型应用,而Spring则是一个全功能 的框架,适合大型和复杂的系统。
4、前端技术:HTML5, CSS3和JavaScript是前端开发的基本技术,用于构 建用户界面和实现交互功能。同时也可以使用jQuery, Vue等库或框架来提高开 发效率和用户体验。
四、系统实现技术
1、数据库管理系统(DBMS)选择:根据实际需要,可以选择MySQL, PostgreSQL等开源DBMS来存储和管理数据。它们都提供了强大的数据管理功能和 灵活的查询语言。
2、系统开发语言:可以选择Python或Java作为主要的开发语言。Python语 言代码简洁易读,适合快速原型开发,而Java语言更加成熟稳定,适合大规模应 用开发。
1、用户管理:系统需要支持多用户管理,包括管理员、教职工等不同角色 的用户。管理员可以添加、删除、修改用户信息,教职工可以查看自己的信息。
2、数据管理:系统需要支持对教职工信息的存储和管理,包括基本信息、 教育背景、工作经历、科研成果等方面。
3、查询统计:系统需要支持对教职工信息的查询和统计,包括按姓名、按 性别、按年龄等多种查询方式,以及按照不同指标进行统计。
1、数据库设计:为了满足数据存储和管理需求,我们需要设计一个数据库, 用于存储教职工的基本信息、教育背景、工作经历、科研成果等数据。在数
据库设计时,需要考虑数据的结构、完整性、安全性等问题。
2、用户界面设计:为了使用户可以方便地使用系统,我们需要设计一个友 好的用户界面。用户界面需要包括登录页、主页面和功能页面等部分,主页面和 功能页面需要清晰展示各个功能模块和操作按钮,同时需要考虑用户的使用习惯 和操作便捷性。

2职工信息管理系统设计

2职工信息管理系统设计

2职工信息管理系统设计职工信息管理系统是一种用于管理公司或组织中职工人员信息的软件系统。

它可以帮助公司高效地管理职工档案、薪资信息、出勤记录等信息,提高信息管理的效率和准确性。

在本文中,我将讨论一个完整的职工信息管理系统的设计,包括系统功能、系统模块、数据结构、界面设计等。

一、系统功能2.薪资管理:可以记录职工的薪资信息,包括基本工资、津贴、奖金、扣款等,可以自动生成工资单。

3.出勤管理:可以记录职工的出勤情况,包括迟到、早退、请假、加班等,可以生成考勤报表。

4.绩效评估:可以记录职工的绩效评估情况,包括工作表现、奖惩情况等,可以为职工评定绩效等级。

5.培训管理:可以记录职工参加的培训情况,包括培训课程、培训成绩等。

6.数据统计分析:可以对各项数据进行统计和分析,生成各种报表和图表,为管理者提供决策支持。

7.权限管理:可以设置不同的权限级别,确保不同职工只能访问自己的信息。

8.系统日志:可以记录系统的操作日志,包括登录记录、操作记录等,确保系统安全可靠。

二、系统模块1.职工档案模块:包括添加职工信息、修改职工信息、删除职工信息、查看职工信息等功能。

2.薪资管理模块:包括录入薪资信息、生成工资单、查看工资历史记录等功能。

3.出勤管理模块:包括录入出勤情况、生成考勤报表、查看出勤统计等功能。

4.绩效评估模块:包括录入绩效评估情况、生成绩效报表、查看绩效历史记录等功能。

5.培训管理模块:包括录入培训信息、生成培训报表、查看培训历史记录等功能。

6.数据统计分析模块:包括生成各种报表和图表、定制统计分析功能、查看统计分析结果等功能。

7.权限管理模块:包括设置权限级别、添加用户、修改用户权限等功能。

8.系统日志模块:包括记录系统操作日志、查看操作记录、导出日志文件等功能。

三、数据结构2.薪资信息表:包括薪资编号、职工编号、薪资类型、薪资金额、发放日期等字段。

3.出勤信息表:包括出勤编号、职工编号、出勤日期、迟到次数、请假时长等字段。

职工信息管理系统设计

职工信息管理系统设计

职工信息管理系统设计随着企业规模的扩大和竞争的加剧,职工信息的管理对企业来说越来越重要。

职工信息管理系统可以帮助企业高效地完成职工记录、管理、审核等工作。

本文将介绍一个职工信息管理系统的设计及其功能实现。

1.系统设计1.1 系统架构该系统采用B/S架构,即浏览器/服务器架构。

职工信息管理系统客户端用户通过浏览器与服务器进行交互,服务器进行数据处理和存储,返回结果给客户端用户。

浏览器是前端,服务器是后端。

如上图所示,该系统的架构由客户端、服务器、数据库三层组成。

客户端允许用户进行各种操作,服务器接收客户端请求并作出处理或向数据库发出请求。

1.3 数据库设计(1)用户表用户表记录系统管理员信息,包括管理员账号、密码等。

(2)员工信息表员工信息表记录职工信息,包括职工编号、姓名、性别、出生日期、联系电话、邮箱等。

1.4 功能设计(1)用户登录和权限管理管理员通过用户名和密码登录系统进行操作。

该系统为管理员设置多个权限,如添加员工信息、修改员工信息、删除员工信息、查看员工信息、发放工资等。

管理员可以添加、修改、删除员工信息,并能够查询员工信息,实现员工信息的全面管理。

其中包括员工基本信息、教育经历、工作经历等。

(3)工资管理管理员可以录入职工的基本工资、奖金、社保、公积金等信息,并自动计算实际工资,并可进行工资的查询、修改、导出等操作。

(4)考勤管理管理员可以对职工的考勤进行管理,包括考勤异常查询、请假、加班等操作。

(5)报表统计系统可对员工信息、工资信息、考勤信息进行统计和分析,并生成相应的报表用于管理决策。

2.系统实现2.1 技术选型本系统采用MySQL5.5、PHP5.2和Apache2.2作为数据库、后端和Web服务器。

2.2 整体流程(1)用户通过浏览器访问系统,输入用户名和密码进行登录。

(2)系统根据用户权限,返回相应的页面。

(3)管理员在系统中完成相应的操作,并提交到服务器。

(4)服务器进行数据处理并返回结果给用户,更新数据到数据库。

企业人员信息管理系统设计

企业人员信息管理系统设计

企业人员信息管理系统设计第1章绪论 (1)1.1论文研究主要内容 (1)1.2国内外现状 (1)第2章关键技术介绍 (2)2.1S TRUTS技术介绍 (2)2.2S PRING技术介绍 (2)2.3F REEMARKER技术介绍 (2)2.4M Y SQL数据库技术介绍 (2)第3章系统分析 (3)3.1构架概述 (3)3.1.1 模块需求描述 (3)3.1.2 模块用例描述 (3)第4章系统设计 (7)4.1系统的功能结构设计 (7)4.2数据库设计 (8)第5章系统实现 (9)5.1企业人员信息管理 (9)5.2新建人员信息 (9)第6章系统测试 (11)6.1新建企业员工信息 (11)6.2分配部门 (11)第7章结论 (13)参考文献 (14)第1章绪论随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。

随着我国国企改革的深入和社会主义市场经济的日趋繁荣,导致各企业间的竞争日益激烈,迫使企业采取先进的计算机硬件设备以及高质量的辅助软件来管理企业的各项运作,以提高本企业的劳动生产率以及人员效率。

1.1 论文研究主要内容对于企、事业单位的企业人员管理来说,不需要太大的数据库系统。

只需要一个操作方便,功能实用,能同时满足财务部门、单位其他相关部门及代发单位这三方对数据的管理及需求的系统。

我们的目标就是在于开发一个功能实用,用户(财务部、其他相关部门)操作方便,简单明了的企业人员管理软件。

1.2 国内外现状信息技术的日益发展深入到社会的各个角落,随着时代的进步,企业也逐渐变得庞大起来,如何管理好企业内部员工的信息,成为企业管理中的一个大的问题。

在这种情况下,一个可以规范化,自动化的企业人员信息管理系统就显的非常必要。

最初的人员信息管理,都是靠人力来完成的。

当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,企业的员工认输也越来越多,依然维持着人力进行人事管理,必然会造成工作效率低,工作错误增高的问题。

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

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

case 0: exit(); } printf("\n\n 操作完毕,请再次选择!"); } else printf("\n\n 选择错误,请再次选择!"); } } 2 数据添加 【程序】
void append() { if((fp=fopen("worker.xls","a"))==NULL) { printf("\n 不能打开该文件!"); exit(); } printf("\n 请输入添加职工信息(姓名、职工号、性别、年龄、学历、职位、 工资、电话、地址)\n"); scanf("%s%s%s%s%s%s%s%s%s",,one.num,one.sex,one.age,one.recor d,one.position,one.wanges,one.tel,one.addr); fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",,one.n um,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); fclose(fp); }
5 数据删除 【程序】
void delete() { int m,k=0; long a,b; char namekey[8], valid[4]; printf("\n 请输入您要删除的职工姓名:"); scanf("%s",namekey); if((fp=fopen("worker.xls","r+"))==NULL) { printf("\n 不能打开该文件!"); exit(); } while(!feof(fp)) { a=ftell(fp); fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",,one.num,one.sex,one.age,one. record,one.position,one.wanges,one.tel,one.addr); if(strcmp(namekey,)==0) { k=1; break; } } if(k==1) {

C语言程序设计-职工信息管理系统

C语言程序设计-职工信息管理系统

河南理工大学计算机科学与技术学院课程设计报告20 12 — 20 13 学年第二学期设计名称职工信息管理系统设计上机地点上机日期学生姓名学号专业班级指导教师年月日一.设计目的:通过亲自设计程序,可以令我们熟悉c语言操作,更熟练的掌握c语句。

初步体会编程的过程,为将来的程序深入学习打下基础和培养兴趣。

二.总体设计:三.详细设计:(一). 为了方便使用结构此系统结构均为全局类型定义struct employee //定义一个职工信息的结构体{int num;char name[10];char sex;int age;char xueli[30];int wage;char addr[30];char tel[20];}em[100];(二).各模块的功能和实现1.菜单模块:显示职工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。

2.输入模块:输入职工的工号、姓名以及其它的一些职工的相关信息,通过自己定义的void input()函数来实现。

3.保存模块:将内存中职工的信息输出到磁盘文件中,可以通过自己定义的void save(int)函数来实现。

4.浏览模块:浏览所有职工的相关信息,通过自己定义的void display()函数来实现。

5.删除模块:删除需要删除的职工的所有信息,通过自己定义的void del()函数来实现。

6.添加模块:添加需要添加的职工的相关信息,通过自己定义的void add()函数来实现。

7.按职工号查询模块:可以按职工号来查询职工的相关信息,通过自己定义的void search_num()函数来实现。

8.按职工的的学历查询模块:可以按职工的学历来查询职工的相关信息,通过自己定义的void search_xuelil函数来实现。

9.按职工的电话号码查询模块:可以按职工的电话来查询职工的相关信息,通过自己定义的void search_tel函数来实现。

员工信息管理系统设计

员工信息管理系统设计

西安曲江HR管理系统——员工信息管理子系统——管理员工根本信息摘要随着计算机的普及和计算机科学技术的飞速开展,人们开始越来越多地利用计算机解决实际问题。

人力资源管理是企业信息管理的重要局部,面对大量的人事信息,采用人工处理既浪费时间、又浪费人力和物力,并且数据的准确性不高。

因此,开发一个界面友好,易于操作的人力资源管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。

本文所阐述的西安曲江HR管理系统,基于B/S〔浏览器/效劳器〕模式,高效地实现了人力资源管理系统的各项功能,可进行多条件查询、员工信息编辑、添加员工信息等功能。

提升了企业的效率和竞争力,满足了现代企业管理的需要。

本文采用MVC设计模式,使用基于Java的MyEclipse编程软件,修改HTML网页,使其变成可交互的动态JSP页面,然后连接数据库,从而实现西安曲江HR管理系统的各种功能和页面效果。

关键词:西安曲江HR管理系统;J2EE;MVCXi’an Qu Jiang HR Managem ent System-Employee's information manages sub system-Manage an employee basicinformationAbstractWith the proliferation of computers and computer science and technology, the rapid development of more and more people began to use computers to solve practical problems. Human resource management is business enterprise information management of importance part, face a great deal of personnel information, adopt an artificial processing since the wave takes a lot of time, and then waste manpower and material resources, and the accuracy of data isn't high. Therefore, develop an interface amity, be easy to human resource of operation management software to carry on automation to handle to become very important, this is exactly this system development of purpose and meaning. Xi’an Qu Jiang HR Management System by this text, according to B/S(browser/server) mode, efficiently carried out each function of human resource management system, can carry on the information editor of many condition searches, employee and add employee information etc. function. Promoted the efficiency and competition ability of business enterprise, satisfied the demand that the modern business enterprise manages.This literary grace is designed mode with MVC, use a plait distance the software is according to Java MyEclipse and modify a HTML web page and make it become an alternant dynamic state JSP page, then link a database and carry out the various function and page effect of the Xi’an Qu Jiang HR Management System thus.Key words:Xi’an Qu Jiang HR Management System, J2EE, MVC目录1 绪论 (1)1.1 课题背景 (1)1.2 目的和意义 (2)1.3 系统设计思想 (2)1.4 系统开发环境 (3)2 可行性分析 (4)2.1确定系统目标 (4)2.2 经济可行性 (5)2.3 技术可行性 (6)2.4 法律可行性 (6)2.5 运行可行性 (6)2.6 本章小结 (7)3 需求分析 (8)3.1 人力资源管理系统的产生和开展情况 (8)3.1.1 人力资源管理系统的概念 (8)3.1.2 人力资源管理系统的开展历程 (8)3.1.3 人力资源管理信息化的意义 (9)3.2 人力资源管理系统的需求分析 (10)3.3 本章小结 (11)4 总体设计 (12)4.1 系统模块总体设计 (12)4.2 数据库设计 (13)4.2.1 数据库设计概述 (13)4.2.2 数据分析 (14)4.2.3 数据库的详细设计 (14)4.3 本章小结 (19)5 详细设计 (20)5.1 系统运行平台设置 (20)5.2 系统主页设计 (20)5.3 员工信息管理功能设计 (21)5.3.1 员工信息的查询 (22)5.3.2 员工信息的添加 (22)5.3.3 员工信息的编辑 (24)5.3.4 高级查询 (24)5.4 本章小结 (25)6 系统测试与性能分析 (26)6.1 软件测试 (26)6.2 测试的根本概念 (26)6.2.1 测试的目的 (26)6.2.2 测试用例 (26)6.2.3 白盒测试和黑盒测试 (27)6.2.4 测试步骤 (27)6.2.5 本系统测试 (27)6.3 本章小结 (30)结论 (31)附录 (32)参考文献 (43)致谢 (44)1绪论网络化的今天,人力资源管理系统使新的人力资源协作管理模式成为可能。

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

课程设计(论文)题目名称职工信息管理系统设计课程名称C语言程序课程设计学生姓名曾文静学号**********系、专业信息工程系、电子指导教师邓波2012年6月2 日邵阳学院课程设计(论文)任务书注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2.此表1式3份,学生、指导教师、教研室各1份。

指导教师(签字):学生(签字):目录1课程设计的目的与要求 (6)1.1目的 (6)1.2要求 (6)2课程论文题目 (7)3程序设计思路 (7)4功能模块图 (8)5算法设计 (8)5.1功能模块选择 (8)5.2浏览模块 (9)5.3排序模块 (9)5.4 查询模块 (10)5.5修改模块 (11)6源程序 (12)7程序运行结果 (20)7.1 主菜单 (20)7.2 输入模块 (21)7.3浏览模块 (21)7.4查找模块 (22)7.5修改模块 (22)8编程中遇到的困难及解决方法 (23)9总结心得及良好建议 (24)10参考资料 (26)11致谢 (26)1、课程设计的目的与要求1.1目的1.掌握C语言编程的基础知识较熟练的编写C语言应用程序。

2.能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能力。

3.通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。

1.2 要求1.要求利用C语言面向过程的编程思想来完成系统的设计;2.突出C语言的函数特征,以多个函数实现每一个子功能;3.画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握C语言对文件的各种操作。

2. 课程论文题目职工信息管理系统程序设计题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。

(2)职工信息录入功能(职工信息用文件保存)。

(3)职工浏览功能。

(4)职工信息查询功能,查询方式可按学历查询或者工号查询。

(5)职工信息的删除、修改功能(可选项)。

3.程序设计思路1.1设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。

4.功能模块图5.算法设计5.1主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。

5.2浏览模块【分析】该模块的功能是浏览职工的全部信息5 . 3 排序模块5.4查询模块【分析】该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。

流程图如下:5.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.程序运行结果下面是各个模块的的界面截图7.1主菜单7.2输入模块7.3浏览模块7.4查找模块7.5修改模块8.编程中遇到的困难及解决方法温故而知新,可以为师矣。

相关文档
最新文档