职工信息管理系统

合集下载

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

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

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

.。

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

五,分工表………………………………………………………………………………….一,需求文档: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.职工管理系统欢迎页面(如图1所示)该页面采用了简单大方的图片及色彩,没有太多的色彩及修饰,但是却已职员为背景核心,突出了主题,图中的向上的楼梯形式的箭头,更是激发着职员努力工作,步步高升。

图中的“您好,欢迎光临职工管理系统!”采用超链接的形式,点击后即可跳转到职工管理系统主界面。

图1该页面同样采用了简单大方的图片及色彩,以白色为主色,以职工为核新,突出了主题,图中的五名职员,体现出了以员工为主题的特色,也表达了员工之间的合作,团队精神。

右上角的三个超链接,可以在登录的同时分别实现职工首页,登录页面及注册页面,方便使用。

在迷你框中可实现已有用户的登录,下次自动登录可以方便下次登录,无需再次输入用户名和密码;如果忘记密码,点击忘记密码,即可轻松的找回,方便快捷。

图2该页面可以实现没有注册的用户的注册,只需填写自己职工号就可以实现注册,注册完信息后便可以马上登录,或者点右上角的登录,马上实现登录功能。

图3该页面可以实现员工信息的录入,浏览,查询,修改,删除以及退出功能,操作者只需点击所需功能的超链接就可以实现相应的功能,方便快捷。

图4该页面可以实现对员工信息的录入,只需按提示要求操作即可,录入无误后点击提交就可成功录入,若填写错误只需在相应的栏中修改,或者点击重置,修改全部项。

若想使用其它功能只需点击上面相应的超链接即可,轻松快捷。

图5当操作者想要浏览职工信息时,只需点击“职工信息查询功能”,页面将自动跳出查询页面,操作者只需按操作提示即可,确定后便可显示您所要查询职工的信息。

图6当操作者想要浏览职工信息时,只需点击“职工信息查询功能”,页面将自动跳出查询页面,操作者只需按操作提示即可,确定后便可显示您所要查询职工的信息。

图78.职工信息删除功能(如图8所示)当操作者想要删除职工信息时,只需点击“职工信息删除功能”,页面将自动跳出查询页面,操作者只需按操作提示即可,确定后便可删除您所要删除职工的信息。

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

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

职工管理系统课程设计报告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库。

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. 目的本文将介绍一种基于数据库技术的员工信息管理系统的设计与实现方法,旨在提高企业对员工信息的管理效率和准确性,减少人力成本,同时提高信息安全性。

二、系统设计1. 数据库设计员工信息管理系统采用关系数据库设计,包括以下几张表:员工信息表、部门信息表、职位信息表。

员工信息表中包含员工ID、姓名、性别、年龄、入职时间等字段;部门信息表包含部门ID、部门名称等字段;职位信息表包含职位ID、职位名称等字段。

通过这三张表的设计,实现员工信息与部门、职位的关联。

2. 功能设计员工信息管理系统的主要功能包括员工信息的录入、修改、查询和删除,部门信息的管理和职位信息的管理。

管理员可以通过系统实现对员工信息的全面管理,包括个人资料的维护、考勤记录的查看等功能。

三、系统实现1. 前端设计员工信息管理系统的前端采用Web页面设计,通过HTML、CSS、JavaScript等技术实现用户友好的交互界面。

页面包含员工信息录入表单、查询界面、部门管理界面和职位管理界面等。

2. 后端设计系统的后端采用Java语言开发,使用Spring框架实现业务逻辑和数据访问层。

通过MyBatis等持久化框架与数据库进行交互,实现数据的增删改查操作。

3. 数据库实现数据库采用MySQL进行存储,通过建立员工信息表、部门信息表、职位信息表等实现对员工信息的持久化存储。

同时建立外键关联等约束确保数据的一致性和完整性。

四、系统优化1. 性能优化通过对数据库的索引优化、SQL语句的优化等手段提高系统的响应速度和性能,确保系统可以快速处理大量的员工信息。

2. 安全优化采用权限控制、加密传输等方式加强系统的安全性,防止未授权用户的访问和数据泄露,确保员工信息的保密性。

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

职工信息管理系统LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】信息科学与技术学院程序设计基础课程设计报告题目名称:职工信息管理系统学生姓名:董吉华学号:189专业班级:电子信息工程1班指导教师:郭理2017年 12月 30日目录一.课程设计题目与要求 (3)设计题目 (3)设计要求 (3)二.总体设计 (4)总体功能框架 (4)数据结构概要设计 (5)三.详细设计 (6)数据结构详细设计 (6)系统功能详细设计 (7)主函数 (7)主界面函数 (9)输入函数 (11)输出函数 (12)查找函数 (14)排序函数 (16)删除或修改函数 (18)结束函数 (20)四.运行结果 (21)主界面 (21)主菜单界面 (23)录入职工信息界面 (24)五.课程设计总结 (34)编程中的问题及解决方法 (34)小结 (34)心得体会 (34)程序设计方法 (35)参考文献 (35)《职工信息管理系统》一.课程设计题目与要求设计题目职工信息管理系统设计要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:系统以菜单方式工作(2)职工信息录入功能(职工信息用文件保存)(3)职工信息浏览功能(4)查询和排序功能:(至少一种查询方式)按工资查询按学历查询等(5)职工信息删除、修改功能二.总体设计总体功能框架实现航班信息的输入,航班信息的输出,航班信息的查找,订票系统,退票系统功能三.if条件判断,保证职工的职工号不会重复。

图4-8 浏览航班信息按任意键返回主菜单显示界面该界面显示输入到文档的所有职工信息,包括之前写到文档中的职工信息。

详细程序运行过程见下图:图4-9图4-10查询界面该界面通过输入工资或者学历,能查询符合标准的员工。

如果没有符合标准的,输出“没有该职工信息,查无此人!!”字样,输入1代表按工资查询,输入2代表按学历查询。

详细过程,请看程序演示。

按数字1:按照工资查询,输入9000,结果如图显示图4-11按数字2:按照学历查询,输入本科,结果如图显示图4-12若查不到人显示查无此人排序界面该界面通过对指定文档读取,输入1代表按照职工号从小到大排序,输入2代表按照工资从小到大排序。

并将排序结果保存到指定文档中。

输入1图4-13输入2图4-14删除或修改界面该界面该界面通过对指定文档读取,1代表删除,2代表修改。

删除是根据职工号进行删除,修改可以单项修改,即可以只改其中一项内容。

详细程序运行见下图删除功能:图4-15可以选择是否确定删除,若不删,按2即可取消操作,若坚持删,按1。

图4-16选择删除,显示剩余职工数据,并询问是否继续。

若按2:则是询问是否继续,若为继续,返回上一个界面,若选择否,则返回菜单界面:图4-17该界面该界面通过对指定文档读取,1代表删除,2代表修改。

删除是根据职工号进行删除,修改可以单项修改,即可以只改其中一项内容。

修改功能:3)该函数其实是删除函数的一个子函数,受删除函数调用,删除函数把值传给修改函数,修改函数可以判断职工号是否重复。

并且可以只修改职员的部分信息。

图4-184)判断是否确定修改,若是,按1,若不是,按2,直接返回菜单函数中,若按1,会出现数字选择,通过选择,选择要修改的类型。

图4-19注意(在1职工号中,有辨别是否有重复现象,同样输错之后,还有两次机会,若都错,就退出系统)1: 职工号图4-20下面以职工号为例,输出正确操作:图4-21若按1表示确定,则返回到删除函数中,若按2,则返回到菜单函数中。

结束程序界面图4-22表明此程序为退出程序。

编程中的问题及解决方法(1)一开始查询模块第一种方法并不能运行,我不停的查阅资料,想做一种简便又可行的方法,这个模块发费了我很长时间,但做出来的那一刻内心无比的喜悦,过程再艰苦,但我收获了巨大的知识财富,同时我也更相信努力钻研必能取得成果。

(2)程序编译后有时并不能读懂错误的意思或者找不到错误在哪,百度则是很好的方法了。

小结此次程序设计主要用了函数的调用,if、else选择语句,switch语句,相关文件知识,结合课本知识加上自己的应用结果颇为令人满意,但是还有很多的缺陷与不足。

在实践过程中,自己编程的时候常常会犯错误,并总结了一些克服缺点的方法。

而且更深刻体会到程序设计中最重要的一部分不是编写源程序,而是调试过程。

只有经过调试程序,我们才能掌握正确的语法知识及把问题的解决方法用程序语言来表达。

在设计程序的同时也增长了翻阅有关文献的能力,加强了实践能力及自学能力,培养了分析问题、编程和动手能力,掌握了程序设计基本技能。

以下是课程设计中的错误总结和分析:心得体会通过此次学生成绩信息管理系统,让我熟悉了软件开发的流程,相信在以后的工作中我能在最短的时间内投入到大的程序开发项目中。

在进行课程设计的前两天,不知道从何入手,很是不解,不知道我们究竟要做什么。

后来通过上网找资料,才发现有好多做法,根本就看不完,此时才真正意识到差距所在。

于是,通过借鉴网络作品,才发现作品并不是一味的照搬照抄才实用,集众家之所成,不断完善,才能造出属于自己的作品,并且实用。

在整个课程设计中,我认为最重要的就是耐心和细心。

细心,就是在编写过程中注意拼写,仔细编写程序;耐心,就是程序编译中出现很多错误的时候能够耐心去修改,只有这样,才能很好的完成程序。

虽然在整个过程中出现了不少错误,但最终还是圆满完成了,此次程序设计的经历让我学到了太多,同时也让我理解到参加的项目越大越能学到知识,因此以后我会积极主动的去参加一些项目,以此来提高自己的技能和编程经验。

①认真读题,审题。

②将一个大程序分成若干个小程序,逐步攻破。

参考文献参考文献C程序设计C语言从入门到精通系统源程序:#include<>#include<>#include<>#include<>;Sleep(100);}system("cls");mainhome();break;}k++;if(k<3){printf("\n用户名或密码无效请重新输入:\n"); }if(k==3){printf("\n连续输入错误3次将退出程序\n"); Sleep(2000);exit(0);}}}void mainhome(){int n;printf("\n\n\n\n");printf("\t\t\t\t┃************************************************************┃\n");printf("\t\t\t\t┃* * *┃\n");printf("\t\t\t\t┃* 1.录入员工资料 * 2.显示员工资料 *┃\n");printf("\t\t\t\t┃* * *┃\n");printf("\t\t\t\t┃************************************************************┃\n");printf("\t\t\t\t┃* * *┃\n");printf("\t\t\t\t┃* 3.员工信息查询 * 4.员工信息排序 *┃\n");printf("\t\t\t\t┃* * *┃\n");printf("\t\t\t\t┃************************************************************┃\n");printf("\t\t\t\t┃* * *┃\n");printf("\t\t\t\t┃* 5.删除/修改记录 * 0.退出信息系统 *┃\n");printf("\t\t\t\t┃* * *┃\n");printf("\t\t\t\t┃************************************************************┃\n");printf("\n请选择:"); struct worker *m;m=work;scanf("%d",&n);switch(n){case 1:input(work);break;case 2:display(m);break;case 3:chazhao(work);break;case 4:paixu(work);break;case 5:shanchu(work);break;case 0:left();break;}}void input(struct worker work[100]){int i;FILE *irry;umber,work[i].name,work[i].xingbie,&work[i].age,work[i].xueli,&work[i].wage,work[i].address,work[i].telephone);}elsebreak;}int k=i;system("cls");char c;printf("员工工号:\n");scanf("%lf",&work[k].number);for(i=0;i<k;i++){if(work[k].number<0)printf("请输入正整数:\n");int m=0;for(m=0;m<4;m++){if(work[i].number==work[k].number){printf("该职工号和之前%d员工相同,请重新输入:\n",i+1);printf("员工工号:\n");scanf("%lf",&work[k].number);if(work[i].number!=work[k].number)break;if(work[i].number==work[k].number&&m<3){printf("该职工号和之前%d员工相同,请重新输入:\n",i+1);printf("员工工号:\n");scanf("%lf",&work[k].number);}if(m>=4);exit(0);}}}printf("姓名:\n");scanf("%s",work[k].name);printf("性别(F:M):\n");scanf("%s",work[k].xingbie);printf("年龄:\n");scanf("%d",&work[k].age);printf("学历(中专,大专,本科,硕士,博士,其它):\n");scanf("%s",work[k].xueli);printf("工资:\n");scanf("%d",&work[k].wage);printf("住址:\n");scanf("%s",work[k].address);printf("电话:\n");scanf("%s",work[k].telephone);printf("\n是否继续输入(y/n):\n");fprintf(irry,"%.0f\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[k].number,work[k].name,wo rk[k].xingbie,work[k].age,work[k].xueli,work[k].wage,work[k].address,work[k].telephone);if(fclose(irry)){printf("sorry,I can not close!!\n");exit(0);}do{c=getchar();if(c=='y'||c=='Y'){if(k<100){input (work);}else{printf("记录数已满\n");Sleep(2000);system("cls");mainhome();}}else if(c=='n'||c=='N'){system("cls");mainhome();}else ;}while((c!='y')&&(c!='n')&&(c!='Y')&&(c!='N'));}void display(struct worker *ab){FILE *read;{printf("sorry,I’m error:\n");exit(0);}int i;char c;system("cls");printf("\t工号\t\t姓名\t性别\t年龄\t学历\t工资\t住址\t\t电话\n");for(i=0;i<100;i++){while(!feof(read)){fscanf(read,"\t%lf\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",&work[i].number,work[i].name,work[i]. xingbie,&work[i].age,work[i].xueli,&work[i].wage,work[i].address,work[i].telephone);printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[i].number,work[i].name,work[i] .xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}}if(fclose(read)){printf("sorry,I can not close!!\n");exit(0);}printf("\n\n按任意键返回\n");c=getchar();getchar();system("cls");mainhome();}void chazhao(struct worker work[100]){int i,j;FILE *read;int choice;int findmoney;char find[20];char c;system("cls");printf("\t\t请选择查询功能:\n");printf("\t1.按工资查询\n");printf("\t2.按学历查询\n");printf("请输入选择\t1\tor\t2\n");{printf("sorry,I’m error:\n");exit(0);}do{scanf("%d",&choice);}while ((choice!=1)&&(choice!=2));int fib=0;if (choice==1){printf("\n\t请输入要查询的工资\n");scanf("%d",&findmoney);printf("\n正在查询,请稍候");for(i=0;i<10;i++){printf(".");Sleep(100);}system("cls");for (i=0;i<100;i++){fscanf(read,"\t%lf\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",&work[i].number,work[i].name,w ork[i].xingbie,&work[i].age,work[i].xueli,&work[i].wage,work[i].address,work[i].telephone);if (findmoney==work[i].wage){printf("\n\n\t工号\t\t姓名\t性别\t年龄\t学历\t工资\t住址\t\t电话\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[i].number,work[i].name,work[i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);fib=1;}}if(fib==0){printf("\n\n\t\t");printf("没有该职工信息,查无此人!!\n");}}if (choice==2){printf("\n\n请输入要查询的职工学历:\n");scanf("%s",find);printf("\n正在查询,请稍候");for(i=0;i<20;i++){printf(".");Sleep(100);}system("cls");printf("\n\n\t工号\t\t姓名\t性别\t年龄\t学历\t工资\t住址\t\t电话\n");for (i=0;i<100;i++){fscanf(read,"\t%lf\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",&work[i].number,work[i].name,w ork[i].xingbie,&work[i].age,work[i].xueli,&work[i].wage,work[i].address,work[i].telephone);if(!strcmp(find,work[i].xueli)){printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[i].number,work[i].name, work[i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);fib=1;}}if(fib==0){printf("\n\n\t\t");printf("对不起,该职工不存在!!\n");}}if(fclose(read)){printf("sorry,I can not close!!\n");exit(0);}printf("\n\n按任意键返回\n");c=getchar();getchar();system("cls");mainhome();}void paixu(struct worker work[100]){system("cls");printf("\t\t请选择排序方式:\n");printf("按职工号排序请按1:\n");printf("按工资排序请按2:\n");int n;FILE *read;FILE *op;char c;scanf("%d",&n);{printf("sorry,I’m error:\n");exit(0);}int i,j;if(n==1){for(i=0;i<100;i++){if(!feof(read) ){fscanf(read,"\t%lf\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",&work[i].number,work[i].name,w ork[i].xingbie,&work[i].age,work[i].xueli,&work[i].wage,work[i].address,work[i].telephone);}elsebreak;}int k=i;int temp;double mn;char irry[80];umber>work[j+1].number){mn=work[j].number;work[j].number=work[j+1].number;work[j+1].number=mn;strcpy(irry,work[j].name);strcpy(work[j].name,work[j+1].name);strcpy(work[j+1].name,irry);strcpy(irry,work[j].xingbie);strcpy(work[j].xingbie,work[j+1].xingbie);strcpy(work[j+1].xingbie,irry);temp=work[j].age;work[j].age=work[j+1].age;work[j+1].age=temp;strcpy(irry,work[j].xueli);strcpy(work[j].xueli,work[j+1].xueli);strcpy(work[j+1].xueli,irry);temp=work[j].wage;work[j].wage=work[j+1].wage;work[j+1].wage=temp;strcpy(irry,work[j].address);strcpy(work[j].address,work[j+1].address);strcpy(work[j+1].address,irry);strcpy(irry,work[j].telephone);strcpy(work[j].telephone,work[j+1].telephone);strcpy(work[j+1].telephone,irry);}}}for(i=0;i<k;i++){printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[i].number,work[i].name, work[i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<k;i++){fprintf(op,"%.0f\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,wor k[i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}if(fclose(op)){printf("sorry,I can not close!!\n");exit(0);}printf("\n\n按任意键返回\n");c=getchar();getchar();system("cls");mainhome();}if(n==2){for(i=0;i<100;i++){if(!feof(read) ){fscanf(read,"\t%lf\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",&work[i].number,work[i].name,w ork[i].xingbie,&work[i].age,work[i].xueli,&work[i].wage,work[i].address,work[i].telephone);}elsebreak;}int k=i;int temp;double mn;char irry[80];age>work[j+1].wage){mn=work[j].number;work[j].number=work[j+1].number;work[j+1].number=mn;strcpy(irry,work[j].name);strcpy(work[j].name,work[j+1].name);strcpy(work[j+1].name,irry);strcpy(irry,work[j].xingbie);strcpy(work[j].xingbie,work[j+1].xingbie);strcpy(work[j+1].xingbie,irry);temp=work[j].age;work[j].age=work[j+1].age;work[j+1].age=temp;strcpy(irry,work[j].xueli);strcpy(work[j].xueli,work[j+1].xueli);strcpy(work[j+1].xueli,irry);temp=work[j].wage;work[j].wage=work[j+1].wage;work[j+1].wage=temp;strcpy(irry,work[j].address);strcpy(work[j].address,work[j+1].address);strcpy(work[j+1].address,irry);strcpy(irry,work[j].telephone);strcpy(work[j].telephone,work[j+1].telephone);strcpy(work[j+1].telephone,irry);}}}for(i=0;i<k;i++){printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[i].number,work[i].name, work[i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<k;i++)fprintf(op,"%.0f\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,work [i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);if(fclose(op)){printf("sorry,I can not close!!\n");exit(0);}printf("\n\n按任意键返回\n");c=getchar();getchar();system("cls");mainhome();}}void shanchu(struct worker work[100]){int n,i,match;char c;system("cls");FILE *read;FILE *op;double vb;umber,work[i].name,work[i].xingbie,&work[i].age,work[i].xueli,&work[i].wage,work[i].address,work[i].telephone);}elsebreak;}int k=i;int j;int d;umber==vb){printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[i].number,work[i].name,work[i] .xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);printf("\n\n\n");printf("\t\t是否确定删除\n");printf("1\t代表确定\t\t2\t代表否定:\n");scanf("%d",&d);if(d==1){match=1;for(j=0;j<k;j++){fscanf(read,"\t%lf\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",&work[j].number,work[j].name,work[j]. xingbie,&work[j].age,work[j].xueli,&work[j].wage,work[j].address,work[j].telephone);}for(j=i;j<k-1;j++){work[j].number=work[j+1].number;strcpy(work[j].name,work[j+1].name);strcpy(work[j].xingbie,work[j+1].xingbie);work[j].age=work[j+1].age;strcpy(work[j].xueli,work[j+1].xueli);work[j].wage=work[j+1].wage;strcpy(work[j].address,work[j+1].address);strcpy(work[j].telephone,work[j+1].telephone);}k--;for(j=0;j<k;j++)printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[j].number,work[j].name, work[j].xingbie,work[j].age,work[j].xueli,work[j].wage,work[j].address,work[j].telephone);{printf("sorry,I’m error:\n");exit(0);}for(j=0;j<k;j++){fprintf(op,"\t%\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[j].number,work[j].name,work[ j].xingbie,work[j].age,work[j].xueli,work[j].wage,work[j].address,work[j].telephone);}if(d=2){match=1;break;}}}}if(!match) printf("\n没有要找的工号.\n");printf("\n是否继续删除(y/n)\n");do{c=getchar();if(c=='y'||c=='Y'){shanchu(work);}if(c=='n'||c=='N'){system("cls");if(fclose(op)){printf("sorry,I can not close!!\n");exit(0);}mainhome();}}while((c!='y')&&(c!='n')&&(c!='Y')&&(c!='N'));}if(n=2){printf("本系统将按照职工号查找职工:\n");printf("请输入职工的职工号码:\n");{printf("sorry,I’m error:\n");exit(0);}scanf("%lf",&vb);for(i=0;i<100;i++){if(!feof(read) ){fscanf(read,"\t%lf\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",&work[i].number,work[i].name,w ork[i].xingbie,&work[i].age,work[i].xueli,&work[i].wage,work[i].address,work[i].telephone);}elsebreak;}int c;umber){nu=1;break;}}intsv;f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[i].number,work[i].name,work[i].xingbie, work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);printf("是否确定修改该职工信息\n");printf("\n\t\t1\t代表确定\t\t2代表否定\n\n");scanf("%d",&sv);if(sv==1){xiugai(work,i);}if(sv==2){if(fclose(read)){printf("sorry,I can not close!!\n");exit(0);}mainhome();}}}}void xiugai(struct worker work[100],int a){int n,i;int m;FILE *read;FILE *fp;printf("请输入数字,选择要修改的信息:\n");printf("\t\t1:职工号\n\t\t2:姓名\n\t\t3:性别\n\t\t4:年龄\n\t\t5:学历\n\t\t6:工资\n\t\t7:地址\n\t\t8:联系方式\n");scanf("%d",&n);{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<100;i++){if(!feof(read) ){fscanf(read,"\t%lf\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",&work[i].number,work[i].name,w ork[i].xingbie,&work[i].age,work[i].xueli,&work[i].wage,work[i].address,work[i].telephone);}elsebreak;}if(fclose(read)){printf("sorry,I can not close!!\n");exit(0);}int k=i;char c;double vb;char *op;char mn[80];op=mn;if(n==1){printf("请输入新的职工号:\n");scanf("%lf",&vb);for(i=0;i<k;i++){if(vb<0)printf("请输入正整数:\n");int m=0;for(m=0;m<4;m++){if(work[i].number==vb){printf("该职工号和之前%d员工相同,请重新输入:\n",i+1);printf("员工工号:\n");scanf("%lf",&vb);if(work[i].number!=vb)break;if(work[i].number==vb&&m<3){printf("该职工号和之前%d员工相同,请重新输入:\n",i+1);printf("员工工号:\n");scanf("%lf",&vb);}if(m>=4);exit(0);}}}work[a].number=vb;{printf("sorry,I’m error:\n");exit(0);}printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name,work[a] .xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);for(i=0;i<k;i++){fprintf(fp,"\t%\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,work[ i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}if(fclose(fp)){printf("sorry,I can not close!!\n");exit(0);}printf("\n是否继续修改(y/n)\n");}if(n==2){printf("请输入新的职工姓名:\n");scanf("%s",op);printf("\n");printf("\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);strcpy(work[a].name,op);printf("\n\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<k;i++){fprintf(fp,"\t%\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,work[ i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}if(fclose(fp)){printf("sorry,I can not close!!\n");exit(0);}printf("\n是否继续修改(y/n)\n");}if(n==3){printf("请输入新的职工性别:\n");scanf("%s",op);printf("\n");printf("\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);strcpy(work[a].xingbie,op);printf("\n\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<k;i++){fprintf(fp,"\t%\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,work[ i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}if(fclose(fp)){printf("sorry,I can not close!!\n");exit(0);}printf("\n是否继续修改(y/n)\n");}if(n==4){printf("请输入新的职工年龄:\n");scanf("%d",&m);f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].nam e,work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);work[a].age=m;printf("\n\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<k;i++){fprintf(fp,"\t%\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,work[ i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}if(fclose(fp)){printf("sorry,I can not close!!\n");exit(0);}printf("\n是否继续修改(y/n)\n");}if(n==5)printf("请输入新的职工学历:\n");scanf("%s",op);printf("\n");printf("\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);strcpy(work[a].xueli,op);printf("\n\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<k;i++){fprintf(fp,"\t%\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,work[ i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}if(fclose(fp)){printf("sorry,I can not close!!\n");exit(0);}printf("\n是否继续修改(}if(n==6){printf("请输入新的职工工资:\n");scanf("%d",&m);printf("\n");printf("\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);work[a].wage=m;printf("\n\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<k;i++){fprintf(fp,"\t%\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,work[ i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}if(fclose(fp)){printf("sorry,I can not close!!\n");exit(0);}printf("\n是否继续修改(y/n)\n");}if(n==7){printf("请输入新的职工地址:\n");scanf("%s",op);printf("\n");printf("\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);strcpy(work[a].address,op);printf("\n\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<k;i++){fprintf(fp,"\t%\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,work[ i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}if(fclose(fp)){printf("sorry,I can not close!!\n");exit(0);}printf("\n是否继续修改(y/n)\n");}if(n==8){printf("请输入新的职工联系方式:\n");scanf("%s",op);printf("\n");printf("\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);strcpy(work[a].telephone,op);printf("\n\n");printf("\t%.0f\t%s%3s\t%2d\t%4s\t%4d\t%11s\t%11s\n",work[a].number,work[a].name, work[a].xingbie,work[a].age,work[a].xueli,work[a].wage,work[a].address,work[a].telephone);{printf("sorry,I’m error:\n");exit(0);}for(i=0;i<k;i++){fprintf(fp,"\t%\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",work[i].number,work[i].name,work[ i].xingbie,work[i].age,work[i].xueli,work[i].wage,work[i].address,work[i].telephone);}if(fclose(fp)){printf("sorry,I can not close!!\n");exit(0);}printf("\n是否继续修改(y/n)\n");}do{c=getchar();if(c=='y'||c=='Y'){shanchu(work);}if(c=='n'||c=='N'){system("cls");mainhome();}}while((c!='y')&&(c!='n')&&(c!='Y')&&(c!='N'));}void left(){char c;system("cls");printf("\n\n");printf("\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"); printf("\t┃************************************************************┃\n"); printf("\t┃* *┃\n"); printf("\t┃* 谢谢使用本程序 *┃\n"); printf("\t┃* *┃\n"); printf("\t┃************************************************************┃\n"); printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n\n");printf("\n\n按任意键返回\n");c=getchar();getchar();system("cls");mainhome();}。

相关文档
最新文档