简单职工管理系统课程设计报告
原创c语言职工管理系统课程设计报告
原创C语言职工管理系统课程设计报告1. 引言职工管理系统是一个可以对职工信息进行录入、查询、修改和删除的软件系统。
在这个项目中,我们将使用C语言来实现这个系统。
通过设计这个项目,我们旨在提高学生们对C语言的理解和应用能力。
2. 项目背景和目的职工管理系统是一个常见的实际应用场景,他在许多企事业单位中都有使用。
通过设计和实现这个系统,我们可以帮助管理人员更有效地管理职工信息,提高管理效率。
我们的目标是设计一个简单易用、功能完善的职工管理系统,可以实现以下功能:职工信息录入、职工信息查询、职工信息修改和职工信息删除。
3. 系统设计我们将使用C语言来实现职工管理系统。
系统设计主要包括以下几个方面的功能模块:3.1 菜单功能模块在这个模块中,我们将设计一个菜单来显示系统的功能选项。
用户可以通过输入相应的选项来进入不同的功能模块。
3.2 职工信息录入功能模块在这个模块中,用户可以输入职工的信息,包括职工编号、职工姓名、职工性别、职工年龄等。
系统将会将这些信息保存到一个文件中以后的查询和修改操作。
3.3 职工信息查询功能模块在这个模块中,用户可以输入职工的编号或者姓名来查询职工的信息。
系统将会根据用户输入的信息在文件中查找相应的职工信息并显示出来。
3.4 职工信息修改功能模块在这个模块中,用户可以输入职工的编号来修改职工的信息。
用户需要输入修改后的信息,并将更新后的信息保存到文件中。
3.5 职工信息删除功能模块在这个模块中,用户可以输入职工的编号来删除职工的信息。
系统将会在文件中查找相应的职工信息并删除。
4. 系统实现系统实现主要有以下几个步骤:4.1 设计程序结构首先,我们需要设计系统的程序结构。
我们将使用函数来实现不同功能模块,通过调用不同的函数来实现系统不同的功能。
4.2 实现菜单功能模块我们将使用printf函数来输出菜单,并使用scanf函数来获取用户的输入。
根据用户的输入,我们将使用switch语句来进入相应的功能模块。
职工管理系统课程设计报告
职工管理系统课程设计报告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库。
数据结构课程设计 简单的职工管理系统
数据结构课程设计简单的职工管理系统简单的职工管理系统设计1. 引言本文旨在设计一个简单的职工管理系统,用于匡助管理者进行职工信息的录入、查询、修改和删除等操作。
该系统基于数据结构的相关知识,通过合理的数据结构设计和算法实现,实现对职工信息的高效管理。
2. 功能需求2.1 职工信息录入系统提供一个录入界面,管理者可以输入职工的基本信息,包括职工编号、姓名、性别、年龄、职位等。
系统应该能够对输入的信息进行合法性验证,并将信息存储到合适的数据结构中。
2.2 职工信息查询系统提供一个查询界面,管理者可以根据职工的编号、姓名、职位等条件进行查询。
系统应该能够根据查询条件从数据结构中快速定位到符合条件的职工信息,并将结果展示给管理者。
2.3 职工信息修改系统提供一个修改界面,管理者可以根据职工的编号或者姓名等条件选择一个职工信息进行修改。
系统应该能够根据选择的职工信息,提供可修改的字段,并对输入的修改信息进行合法性验证,并更新数据结构中对应的职工信息。
2.4 职工信息删除系统提供一个删除界面,管理者可以根据职工的编号或者姓名等条件选择一个职工信息进行删除。
系统应该能够根据选择的职工信息,从数据结构中删除对应的职工信息,并给出相应的提示。
3. 数据结构设计为了高效地管理职工信息,我们可以采用链表作为基本的数据结构。
每一个节点表示一个职工信息,包括职工编号、姓名、性别、年龄、职位等字段。
节点之间通过指针进行连接,形成一个链表结构。
3.1 链表节点设计每一个链表节点包含以下字段:- 职工编号(int)- 姓名(string)- 性别(string)- 年龄(int)- 职位(string)- 指向下一个节点的指针(Node*)3.2 链表操作设计- 初始化链表:创建一个空链表,并初始化头节点指针为NULL。
- 添加节点:根据输入的职工信息创建一个新节点,并将其插入到链表的合适位置。
- 删除节点:根据职工的编号或者姓名等条件,找到对应的节点,并将其从链表中删除。
职工管理系统课程设计
职工管理系统课程设计一、教学目标本课程旨在使学生掌握职工管理系统的理论知识,培养学生运用职工管理系统进行实际操作的能力,并树立正确的职工管理理念。
具体目标如下:1.知识目标:•了解职工管理系统的定义、功能和应用范围;•掌握职工信息录入、查询、修改和删除的操作方法;•理解职工管理系统的数据分析和报表生成过程。
2.技能目标:•能够熟练使用职工管理系统进行职工信息的录入、查询、修改和删除;•能够根据需求设置职工管理系统的参数和权限;•能够运用职工管理系统进行数据分析和报表生成。
3.情感态度价值观目标:•培养学生对职工管理工作的重视和责任感;•培养学生遵守数据安全和隐私保护的原则;•培养学生积极向上、团结协作的工作态度。
二、教学内容本课程的教学内容主要包括职工管理系统的理论知识、操作方法和实践应用。
具体安排如下:1.职工管理系统的理论知识:•职工管理系统的定义、功能和应用范围;•职工信息录入、查询、修改和删除的基本操作;•职工管理系统的数据分析和报表生成原理。
2.职工管理系统的操作方法:•职工信息录入、查询、修改和删除的具体步骤;•职工管理系统的参数设置和权限管理;•数据分析和报表生成的实践操作。
3.职工管理系统的实践应用:•结合具体案例,分析职工管理系统的实际应用场景;•讨论职工管理系统在提高工作效率和促进团队协作方面的作用;•分析职工管理系统在企业管理和人力资源规划中的重要性。
三、教学方法为了提高教学效果和学生的参与度,本课程将采用多种教学方法相结合的方式进行教学。
具体方法如下:1.讲授法:通过教师的讲解,使学生了解职工管理系统的理论知识,为学生提供系统的知识结构。
2.讨论法:学生进行小组讨论,分享职工管理系统的操作经验和实践案例,促进学生之间的交流和合作。
3.案例分析法:通过分析具体案例,使学生了解职工管理系统在实际应用中的作用和效果,培养学生解决问题的能力。
4.实验法:安排上机实验环节,让学生亲自动手操作职工管理系统,巩固所学知识和技能。
C语言课程设计---职工管理系统设计报告
课程名称:程序设计语言课程设计设计题目:职工信息管理系统设计学院:应用技术学院专业:电子信息工程目录:摘要: (2)任务书: (2)总结与体会: (10)摘要:通过这次的短学期,在老师的辅导下,我完成了课程设计。
通过课程设计的完成对C和C++有更深的了解。
我做的课程设计题目是职工信息管理系统设计,我主要用到了结构体,结构体数组,指针,文件等等。
对函数的调用,和指针有了更深的理解。
但我做的这个课程设计,职工信息管理系统还存在不足,还希望老师的指点。
我的这个管理系统能处理的是对公司员工的信息存储,还有对职工的查找和排序,还有对职工的信息修改。
有不足的地方还请老师指点。
昆明理工大学课程设计任务书应用技术学院学院电子信息工程专业2009 级学生姓名(学号):袁瑞(200911513127)课程设计目的:通过设计一个较为简单的管理系统,进一步熟悉C++中类的概念、类的封装、继承的实现方式。
了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
课程设计(论文)题目及具体内容:写程序题目:职工信息管理系统设计设计说明与要求:职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)职工信息录入功能(职工信息用文件保存)(3)职工信息浏览功能(4)查询和排序功能:按工资查询、按学历查询(5)职工信息删除、修改功能(4)各函数调用关系(流程图):(6)编码及调试:(注:此系统由三个人设计,本人只设计了其中的两个功能)功能二. 修改员工信息模块:此功能代码如下:modify() /*修改员工信息*/{struct people p;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请记住要修改的员工号.任意键继续...\n");getch();puts("\n\n");}printf_one(i);}do{printf("\n\n请输入要修改信息的员工号! 员工号:");scanf("%s",p.num);for(i=0;i<n;i++)if(strcmp(p.num,people[i].num)==0){k=i;p=people[i];}if(k==-1)printf("\n\n不存在,请重试");}while(k==-1);printf_face();printf_one(k);w1=modify_data(k,n);if(w1==1){printf("\n操作成功^_^.\n\n继续修改吗?\n\n\t 1).是2).保存并返回\t[ ]\b\b"); scanf("%d",&w0);w2=1;}else{w0=0;if(w2==1)people[k]=p;}if(w0!=1&&w2==1)save(n);}while(w0==1);system("cls");menu();}调试截图:功能三. 员工信息查询模块:此功能代码如下:search() /*查找功能*/ {int i,n,k,w1=1,w2,w3,w4,m,a;struct people p;n=load();{printf("\n\n以哪种方式查找? \n\t1).学历2).员工号[ ]\b\b"); scanf("%d",&m);switch(m){case 1:do{ k=-1;printf("\n\n请输入学历! 学历:");scanf("%s",p.xueli);printf_face();for(i=0;i<n;i++)if(strcmp(p.xueli,people[i].xueli)==0){ k=i;printf_one(k);break;}if(k==-1){ printf("\n\n没有该学历的员工");printf("\n\n重新查找吗?\n\t1).是2).否,返回[ ]\b\b"); scanf("%d",&w1);if(w1==2)printf_back();}}while(k==-1&&w1==1);break;case 2:do{k=-1;printf("\n\n输入您要查询的员工号! 员工号:");scanf("%s",p.num);printf_face();for(i=0;i<n;i++)if(strcmp(p.num,people[i].num)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\n该员工号不存在");printf("\n\n是否重新选择?\n\t1).是2).否,离开[ ]\b\b"); scanf("%d",&w1);if(w1==2)printf_back();}while(k==-1&&w1==1);break;}w4=0;w3=0;if(k!=-1){printf("\n\n请选择操作\n\t 1).继续查找2).修改3).删除4).返回菜单[ ]\b\b"); scanf("%d",&w2);switch(w2){case 2:w3=modify_data(k,n);break;case 3:{printf("\n确定吗?\n\t 1).确定2).返回[ ]\b\b");scanf("%d",&w4);if(w4==1)for(a=k;a<n;a++){strcpy(people[a].num,people[a+1].num);strcpy(people[a].name,people[a+1].name);strcpy(people[a].sex,people[a+1].sex);strcpy(people[a].age,people[a+1].age); /*删除所选员工信息*/ strcpy(people[a].xueli,people[a+1].xueli);strcpy(people[a].gongzi,people[a+1].gongzi);strcpy(people[a].address,people[a+1].address);strcpy(people[a].telephone,people[a+1].telephone);}break;}}if(w3==1||w4==1){save(n);printf("\n\n操作成功.^_^.");printf("\n\n请选择操作\n\t 1).继续查找2).返回[ ]\b\b" );scanf("%d",&w2);}}}while(w2==1);system("cls");menu();}此功能截图:员工信息是用用文本文件存储的,资料分别存储在这些文本文件中,具体如下:总结与体会:通过本次的课程设计,对C和C++又更一步的了解,了解了C上的结构体,并对结构体有了熟练的掌握,并且熟悉了指针,通过指针可以使程序很好的实现,结构体类型是一个很好的类型,在现实生活中,应用结构体可以使问题很好的解决。
高校职工简单管理系统课程设计报告
课程设计报告课程名称程序设计课程设计项目名称高校在职职工简单管理软件设计班级11级计算机科学与技术一班实验室名称(或课室) SS1-304 专业计算机科学与技术任课教师陈章学号11251102133姓名叶晓生广东商学院教务处制分数___________ 评语:指导教师(签名)年月日说明:指导教师评分后,课程设计报告交院(系)办公室保存。
高校在职职工简单管理软件设计1 系统功能要求:本人计划编写一个高校在职职工简单管理软件,主要用来管理职工的一些基本信息。
软件功能如下:(1)减少一个职工(需指定要删除职工的职工号);(2)增加一个职工;(3)查找一个职工号的信息(需指定职工号或电话号码);(4)统计指定二级单位的职工人数、工资总额;(5)按职工的工资多少对职工排序;(6)显示所有职工信息;(7)保存记录。
2 系统总体设计思想:(1)开发与设计的总体思想:高校在职职工简单管理软件算法说明:STEP1 预处理,定义结构体STEP2 进入欢迎界面STEP3 选择某一种功能STEP4 根据提示输入一个字母STEP5 对于输入的字母编辑删除、增加、查找、统计、排序的函数STEP6 如果输入的字母表示退出,退出系统(2)系统模块结构图(3)系统设计流程图3 系统详细设计思想(2)函数的描述1.主函数函数原型:void main(void) 功能:控制程序参数:void返回值:void2.菜单函数函数原型:void menu(void) 功能:显示菜单参数:void返回值:void3.增加职工信息函数函数原型:int add(em*,int) 功能:增加记录参数:em*,int返回值:int4.删除职工信息函数函数原型:int del(em*.int)功能:删除指定职工号职工信息参数:em*,int返回值:int5.查询职工信息函数函数原型:void search(em*,int)功能:根据职工号或职工电话号码查询职工信息6.统计职工信息函数函数原型:void count(em*,int)功能:统计同一二级单位的职工人数和工资总额7.排序函数函数原型:void sort(em*,int)功能:按照工资少到多排序8.保存职工信息函数函数原型:void sort(em*,int)功能:保存职工信息9.函数原型:void display(em*,int)功能:显示职工信息(3)本系统涉及的知识点:结构、数组、循环、函数、分支、指针、文件4 课程设计总结对C语言文件方面的知识不熟悉,对跟文件有关的函数使用也不甚了解,导致在写保存信息方面时花费了较多时间;对结构体和指针方面的知识有点忘记,需要加强复习对C语言文件如何保存与打开的知识不熟悉,与文件有关的函数使用也不清楚,经过课本,到网上查询了相关知识,询问同学,之后才逐步把自己的文件打开和存储问题解决了。
简单职工管理系统课程设计报告
简单职工管理系统课程设计报告
一、课程设计背景
在当今社会中,职工管理是企业管理中至关重要的一环。
随着企业规模的不断
扩大和职工数量的增加,传统的人工管理已经不能满足现代管理的需求。
因此,设计一个简单、有效的职工管理系统是非常必要的。
二、系统设计目标
本课程设计的目标是建立一个简单易用的职工管理系统,实现对职工信息的录入、查询、编辑和删除等基本功能,以提高管理效率。
三、系统功能设计
1. 登录功能
系统管理员可以通过用户名和密码登录系统,确保系统的安全性。
2. 职工信息录入
管理员可以录入新职工的基本信息,包括姓名、工号、职位、部门等信息。
3. 职工信息查询
系统可以根据工号或姓名等关键字查询职工信息,方便管理员查找需要的信息。
4. 职工信息编辑
管理员可以对已有职工信息进行编辑,包括修改个人信息、调整职位等。
5. 职工信息删除
管理员可以删除不需要的职工信息,确保系统数据的及时更新。
四、系统功能实现
系统采用C++语言开发,基于面向对象的编程思想,实现了上述功能模块。
通
过简单的控制台界面,管理员可以方便地进行操作。
五、课程设计总结
通过本次课程设计,我深入了解了职工管理系统的设计和实现过程,锻炼了自
己的编程能力和解决问题的能力。
同时,也对职工管理的重要性有了更深刻的认识,相信这将对我未来的工作和学习有很大帮助。
以上是简单职工管理系统课程设计报告的内容,希望能对大家有所帮助。
职工工资管理系统课程设计报告
目录一、需求分析 (2)二、概要设计 (2)三、详细设计 (5)四、调试分析 (18)五、用户手册 (19)六、测试数据 (19)七、附录 (23)一、需求分析职工工资管理系统功能设计要求(1)输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。
•该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。
(2)显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。
(3)修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。
(4)查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
(5)删除记录:可删除数据文件中的任一记录。
(6)统计: (A)计算各项工资平均工资及总工资, (B)•统计符合指定条件(如职工工资前三项之和在3000元以上、3000~2000元、2000~1000元) 以内的工资职工人数及占总职工人数的百分比。
(C)按字符表格形式打印全部职工工资信息表及平均工资(•包括各项总的平均工资)。
(7)保存数据文件功能。
例如:职工工资信息表ID号姓名基本工资职务工资津贴医疗保险- 公积金- 总工资01 张望1286 794 198 109 135 203402 李明1185 628 135 94 114 174003 王小民 895 438 98 64 73 129404 张效章 1350 868 210 116 150 216205 彭山745 398 84 61 68 1098⋯⋯⋯⋯⋯⋯⋯⋯各项平均工资1092.2 625.2 145 88.8 108(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)二、概要设计1、程序总体功能框架:2、一些数据结构的介绍:struct worker 定义职工的结构体{int num; 职工工号char name[20]; 职工姓名int jibengongzi; 职工的基本工资int zhiwugongzi; 职工的职务工资int jintie; 职工的津贴int yiliaobaoxian; 职工的医疗保险int gongjijin; 职工的公积金int qiansan; 职工前三项工资(基本工资、职务工资、津贴)之和 int sum; 职工的总工资}worker[100]; 建立最多为100,、名为worker的结构体3、定义主要的函数:void menu();void Input();void Modify();void Search();void Add();void Delete();void Show();void Exit();4、几个主要函数介绍:○1清屏函数:system("cls");将前面操作的屏幕清楚,但不会清除数据○2菜单函数:menu();显示主菜单,便于选择○3输入函数:Input();用于输入数据○4修改函数:Modify(); 用于修改数据○5查找函数:Search(); 用于查找信息○6添加函数:Add(); 用于增加信息○7删除函数:Delete(); 用于删除信息○8显示函数:Show(); 用于显示信息○9退出函数:Exit(); 用于退出该系统○10选择函数:select();用于选择显示信息或返回到菜单○11保存信息的函数:save():用于保存信息○12保存人数的函数:P();用于保存已保存数据的人数5、本程序模块结构⑴主函数模块int main(){system("cls");menu();}执行主函数后,执行菜单函数。
职工管理系统课程设计报告
课程设计报告书专业:计算机科学与技术课程设计名称:《建设技术》题目:职工管理系统摘要在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。
考虑到当前大量企业的企业职工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。
因此根据部分企业提供的需求,设计企业职工管理系统,以帮助企业达到企业职工管理办公自动化、节约管理成本、提高企业工作效率的目的。
根据实际需求,“企业职工信息管理系统”项目采用模块化的设计思想,在Windows XP操作系统环境下,搭建JSP运行环境JDK+TOMCAT,通过使用JAVA脚本语言完成动态的、交互的web服务器应用程序,实现职工个人信息查询、浏览及用户密码修改的功能。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全设置齐全,大大减少了操作人员和用户的工作负担,提高了企业职工信息管理的工作效率和企业的信息化的水平。
关键词:java;jsp;数据库表;信息管理、企业员工目录目录 1一、设计目的11.1 开发背景11.2 研究现状1二、需求分析32.1 系统需求分析42.1.1 功能需求42.1.2 数据需求42.2 技术可行性52.2.1 程序语言的选择52.2.2 JSP技术特点62.2.3 操作可行性72.2.4 经济可行性72.3 环境可行性分析82.3.1 软件环境82.3.2 硬件环境82.4 系统结构可行性82.4.1 模式采用82.4.2 经典MVC模式9三、模块分析及设计103.1 数据库分析103.2 数据库概念结构设计113.3 数据库逻辑结构设计123.4 系统模块划分133.4.1系统登录133.4.2编辑模块14四、制作过程及要点174.1 首页174.2 查看职工信息页194.3 ID查询页204.4 浏览职工信息页214.5 添加职工信息页224.6 修改职工信息页234.7 删除职工信息页:(同查询页)244.8 修改密码页:254.9 职工登录页:26五、设计总结27六、参考资料29一、设计目的1.1开发背景现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的企业职工管理的形式和涵都在发生着根本性的变化。
简单的职工管理系统报告
目录1 课程设计任务与要求 (1)1.1 课程设计目的 (1)1.1.1 问题描述 (1)1.1.2 详细要求 (1)1.2 问题分析 (2)2 概要设计 (2)2.1 总体设计思想 (2)2.2 系统功能设计 (3)2.3 模块函数构造 (4)2.4 系统模块的调用关系图框架 (4)3 详细设计 (5)3.1 抽象数据类型定义 (5)3.2 主函数设计 (5)3.3 查找算法设计 (6)3.4 排序算法设计 (7)4 测试 (8)5 课程设计总结 (13)5.1 该课程设计的特点 (13)5.2 存在的不足 (13)5.3 心得体会 (13)参考文献 (14)附录(源代码)·····················································································································错误!未定义书签。
高校在职职工简单管理设计实验报告
高校在职职工简单管理软件设计1 系统功能:软件由主函数(含欢迎界面)+下列6个功能模块组成:(a)减少一个职工(需指定要删除职工的职工号);(b)增加一个职工号(需输入要增加职工号的所有信息);(c)查找一个职工号的信息(需指定职工号或电话号码);(d)统计指定二级单位的职工人数、工资总额;(e)按职工的工资多少对职工排序(f)退出程序的运行。
2 系统总体设计思想1) 功能设计要求:(1)建立文件(2)增加学生记录(3)显示学生记录(4) 文件存储(5) 读取文件(6)删除记录(7) 查询记录(8) 统计记录(9) 排序(10) 退出程序2) 系统详细设计思想a.本程序总共有6个文件:workers.hworkers.cadd_disp.csav_load.cque_remv.csort_tongji.cb.所涉及到的函数如下:(1).菜单处理函数函数原型:void handle_menu(void);//菜单处理功能:处理选择的菜单命令参数:void返回值:void工作方式:根据命令,调用相应函数要求:给出结束信息(2).菜单选择函数函数原型: int menu_select(void);//菜单选择功能:接受用户选择的命令代码参数:void返回值:int工作方式:返回命令代码的整数值要求:只允许选择规定键,如果输入不合要求,则提醒用户重新输入 (3). 删除记录函数函数原型:void removeRecord(void);//删除指定的记录功能:删除内存数组内存数组中的指定记录参数:void返回值:void工作方式:根据给定的关键字,查找符合的记录并删除之。
要求:将后面的记录前移,同时改变名次并给出相关信息(4).增加信息函数函数原型:void addRecord(void);//在表尾追加职工信息功能:增加记录参数:void返回值:void工作方式:从尾部开始逐个追加记录要求:将新的记录追加在记录尾部,并对记录进行计数(5). 显示所有学生信息函数函数原型:void display(void);//显示信息功能:显示内存里的记录信息参数:void返回值:void工作方式:从头部开始逐个显示记录内容要求:报告是否有记录及记录条数和内容(6).查询指定职工信息函数函数原型:void queryInfo(void);//查询指定的职工信息功能:将一个文件的内容追加到另一个文件的尾部参数:void返回值:void工作方式:可以按照职工号或电话号码来查询要求:打印查询到的学生的信息或给出相关信息。
数据结构简单教职工管理系统课程设计报告
课程设计报告(本科)课程:数据结构学号:姓名:班级:教师:时间:计算机科学与技术系创建文件,录入信息,并保存到文件中以修改生日为例,修改职工的某些属性附录:源程序代码# include <stdio.h># include <stdlib.h>#include <windows.h> //Sleep()函数的头文件功能:执行挂起一段时间#include<conio.h> //getch() 函数的头文件# include <string.h># include <iostream.h>typedef struct{char name[18];char sex[8]; //性别;男male,女femalechar birthday[11];char workday[11];char xueli[10];char zhiwu[10];char address[10];char tel[12];}xinxi;typedef struct XX{char name[18];char sex[8]; //性别;男male,女femalechar birthday[11];char workday[11];char xueli[10];char zhiwu[10];char address[10];char tel[12];struct XX *next;}node,*linklist;char fname[15]="work10.txt"; //不重新创建文件时,对文件work10.txt进行操作;若创建新文件则其值改变//--------------------------------------------------------------------------------------//辅助函数//--------------------------------------------------------------------------------------void menu(){cout<<"|------------------------------------------------------------------------------|"; // - 80个cout<<"| 欢迎使用职工管理系统|"; cout<<"|------------------------------------------------------------------------------|";cout<<"| 0、结束操作|"; cout<<"| 1、创建职工文件|"; cout<<"| 2、添加职工信息|"; cout<<"| 3、删除职工信息|"; cout<<"| 4、查找职工信息|"; cout<<"| 5、修改职工信息|"; cout<<"| 6、排序职工信息|"; cout<<"| 7、显示所有职工信息|"; cout<<"|------------------------------------------------------------------------------|";}void EXIT(){printf("\n\n\n\n\n\n");printf("|------------------------------------------------------------------------------|");printf("| 谢谢使用!|");printf("| |");printf("| 欢迎下次使用!|");printf("| |");printf("| 再见!|");printf("|------------------------------------------------------------------------------|");}void writef(xinxi worker0){FILE*fp;if((fp=fopen(fname,"a"))==NULL){printf("文件不存在!请先创建!\n");exit(0);}if(fwrite(&worker0,sizeof(xinxi),1,fp)!=1)printf("file write error!\n");fclose(fp);printf("信息保存成功!\n");}void print(linklist L){linklist q;q=L->next;while (q){printf("姓名%s\n",q->name);printf("性别%s\n",q->sex);printf("生日%s\n",q->birthday);printf("工日%s\n",q->workday);printf("学历%s\n",q->xueli);printf("职务%s\n",q->zhiwu);printf("地址%s\n",q->address);printf("电话%s\n",q->tel);cout<<endl;q=q->next;}}void readall(linklist &L,xinxi worker0){int i;L=new node;L->next=NULL;linklist u,p;p=L;FILE *fp;if((fp=fopen(fname,"r"))==NULL){printf("无法打开此文件!");exit(0);}while(!feof(fp)){if(fread(&worker0,sizeof(xinxi),1,fp)!=1){if(feof(fp)){fclose(fp);break;}elseprintf("read file error!\n");}u=new node;for(i=0;i<18;i++)u->name[i]=[i];for(i=0;i<8;i++)u->sex[i]=worker0.sex[i];for(i=0;i<11;i++)u->birthday[i]=worker0.birthday[i];for(i=0;i<11;i++)u->workday[i]=worker0.workday[i];for(i=0;i<10;i++)u->xueli[i]=worker0.xueli[i];for(i=0;i<10;i++)u->zhiwu[i]=worker0.zhiwu[i];for(i=0;i<10;i++)u->address[i]=worker0.address[i];for(i=0;i<11;i++)u->tel[i]=worker0.tel[i];u->tel[i]=NULL;p->next=u;p=u;}fclose(fp);p->next=NULL;}//-------------------------------------------------------------------------------------- //功能函数//-------------------------------------------------------------------------------------- void create(){void insert();FILE*fp;int num,i;printf("请输入文件名:");scanf("%s",fname);strcat(fname,".txt"); //串连接函数,把第二个字符串添加到第一个字符串后面if((fp=fopen(fname,"w"))==NULL){printf("打开文件出错!\n");exit(0);}fclose(fp);cout<<"文件创建成功!"<<endl;cout<<"下面开始输入职工信息!"<<endl<<"任意键继续..."<<endl;getch();system("cls");cout<<"你想输入多少个职工信息?请输入:";cin>>num;for(i=0;i<num;i++)insert();}void insert(){xinxi worker;int i;for(i=0;i<18;i++)[i]=' ';for(i=0;i<8;i++)worker.sex[i]=' ';for(i=0;i<11;i++)worker.birthday[i]=' ';for(i=0;i<11;i++)worker.workday[i]=' ';for(i=0;i<10;i++)worker.xueli[i]=' ';for(i=0;i<10;i++)worker.zhiwu[i]=' ';for(i=0;i<10;i++)worker.address[i]=' ';for(i=0;i<12;i++)worker.tel[i]=' ';cout<<"请按以下顺序输入职工信息!"<<endl;cout<<"姓名性别生日工日学历职务地址电话"<<endl;scanf("%s%s%s%s%s%s%s%s",&,&worker.sex,&worker.birthday,&worker.wo rkday,&worker.xueli,&worker.zhiwu,&worker.address,&worker.tel);writef(worker);}void del(linklist &L){linklist p,r;jp_c:char name[10],c;int x=0;p=L->next;r=L;system("cls");system("color f0");printf("请输入删除职工的名字:");scanf("%s",name);while(p) //名字不匹配且未找到链尾{if(strcmp(p->name,name)==0){r->next=p->next;free(p);x++;printf("删除成功!\n");printf("是否继续删除(Y/N)?\n");cin>>c;if(c=='Y'||c=='y')goto jp_c;else{printf("是否输出删除后的职工信息(Y/N)?\n");cin>>c;if(c=='Y'||c=='y'){cout<<"*****************************"<<endl;print(L);cout<<"*****************************"<<endl;cout<<"输出完成!"<<endl<<"任意键继续..."<<endl;getch();return;}elsereturn;}}r=p;p=p->next;}if(x==0)printf("未找到该职工的信息!\n");}void search_name(linklist L){int i;node *p;p=L->next;char name[10];int n=0;printf("请输入要查找职工的姓名:");scanf("%s",name);printf("正在进行查找,请稍候...\n");int k=3;for(i=0;i<350000000*k;i++) //延时3秒{}while(p){if(strcmp(p->name,name)==0){printf("该职工的信息如下:\n");printf("********************************\n");printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birthday);printf("工日%s\n",p->workday);printf("学历%s\n",p->xueli);printf("职务%s\n",p->zhiwu);printf("地址%s\n",p->address);printf("电话%s\n",p->tel);printf("********************************\n");cout<<endl;n++;}p=p->next;}if(n==0)printf("未找到该职工的信息!\n");}void search_tel(linklist L){int i;node *p;p=L->next;char tel[12];int n=0;printf("请输入要查找职工的电话:");scanf("%s",tel);printf("正在进行查找,请稍候...\n");int k=3;for(i=0;i<350000000*k;i++) //延时3秒{}while(p){if(strcmp(p->tel,tel)==0){printf("该职工的信息如下:\n");printf("********************************\n");printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birthday);printf("工日%s\n",p->workday);printf("学历%s\n",p->xueli);printf("职务%s\n",p->zhiwu);printf("地址%s\n",p->address);printf("电话%s\n",p->tel);printf("********************************\n");cout<<endl;n++;}p=p->next;}if(n==0)printf("未找到该职工的信息!\n");}void search_and(linklist L){int i;node *p;p=L->next;char tel[12],name[10];int n=0;printf("请输入要查找职工的姓名和电话:");scanf("%s%s",name,tel);printf("正在进行查找,请稍候...\n");int k=3;for(i=0;i<350000000*k;i++) //延时3秒{}while(p){if((strcmp(p->name,name)==0)&&(strcmp(p->tel,tel)==0)){printf("该职工的信息如下:\n");printf("********************************\n");printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birthday);printf("工日%s\n",p->workday);printf("学历%s\n",p->xueli);printf("职务%s\n",p->zhiwu);printf("地址%s\n",p->address);printf("电话%s\n",p->tel);printf("********************************\n");cout<<endl;n++;}p=p->next;}if(n==0)printf("未找到该职工的信息!\n");}void search(linklist &L){jp_c3:int choose;char ch;system("cls");system("color f0");printf("你想按什么进行查找?\n");printf("1、姓名2、电话3、综合查找\n");printf("请选择:");scanf("%d",&choose);switch(choose){case 1:search_name(L);break;case 2:search_tel(L);break;case 3:search_and(L);break;default: cout<<"输入错误!\n";}cout<<"继续按其他分类查找?Y/N:";cin>>ch;if(ch=='Y'||ch=='y')goto jp_c3;}void xiugai(linklist &L){linklist p,q;p=L->next;char name[10],ch;int i=0,choose;system("cls");system("color f0");printf("请输入要修改的职工的名字:");scanf("%s",name);while(p){if(strcmp(p->name,name)==0){printf("你想修改什么?\n");printf("--------------------------------------------------------------------------------");printf("1、姓名2、性别3、生日4、工日5、学历6、职务7、地址8、电话\n");printf("--------------------------------------------------------------------------------");jp_c4:printf("请选择:");scanf("%d",&choose);printf("\n********************************\n");for(int j=0;;j++){switch(choose){case 1:printf("请输入员工姓名:");scanf("%s",p->name);break;case 2:printf("请输入员工性别:");scanf("%s",p->sex);break;case 3:printf("请输入员工生日:");scanf("%s",p->birthday);break;case 4:printf("请输入员工工日:");scanf("%s",p->workday);break;case 5:printf("请输入员工学历:");scanf("%s",p->xueli);break;case 6:printf("请输入员工职务:");scanf("%s",p->zhiwu);break;case 7:printf("请输入员工地址:");scanf("%s",p->address);break;case 8:printf("请输入员工电话:");scanf("%s",p->tel);break;default: cout<<"输入错误!\n";}cout<<"继续修改?Y/N:";cin>>ch;if(ch=='Y'||ch=='y'){printf("********************************\n\n");goto jp_c4;}else{q=p;break;}}i++;}p=p->next;}if(i){system("cls");system("color f0");cout<<"修改成功!"<<endl<<"修改后该职工的信息为:"<<endl;printf("********************************\n");printf("姓名%s\n",q->name);printf("性别%s\n",q->sex);printf("生日%s\n",q->birthday);printf("工日%s\n",q->workday);printf("学历%s\n",q->xueli);printf("职务%s\n",q->zhiwu);printf("地址%s\n",q->address);printf("电话%s\n",q->tel);printf("********************************\n");cout<<endl;}elsecout<<"不存在职工信息,无法修改!"<<endl;}void rank_name(linklist &L){void Show_all(linklist L);linklist La;linklist p,q,m;La=(linklist)malloc(sizeof(node));La->next =NULL;while(L->next){for(q=L->next,p=L->next;p->next;p=p->next){if((strcmp( p->next->name,q->name ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;cout<<"按姓名排序后";Show_all(L);}void rank_birthday(linklist &L){void Show_all(linklist L);linklist La;linklist p,q,m;La=(linklist)malloc(sizeof(node));La->next =NULL;while(L->next){for(q=L->next,p=L->next;p->next;p=p->next){if((strcmp( p->next->birthday,q->birthday ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;cout<<"按生日排序后";Show_all(L);}void rank_workday(linklist &L){void Show_all(linklist L);linklist La;linklist p,q,m;La=(linklist)malloc(sizeof(node));La->next =NULL;while(L->next){for(q=L->next,p=L->next;p->next;p=p->next){if((strcmp( p->next->workday,q->workday ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;cout<<"按工日排序后";Show_all(L);}void rank(linklist &L){int i;jp_c2:int choose;char ch;system("cls");system("color f0");printf("你想按什么进行排序?\n");printf("1、姓名2、生日3、工日\n");printf("请选择:");scanf("%d",&choose);printf("正在进行排序,请稍候...\n");int k=3;for(i=0;i<350000000*k;i++) //延时3秒{}switch(choose){case 1:rank_name(L);break;case 2:rank_birthday(L);break;case 3:rank_workday(L);break;default: cout<<"输入错误!\n";}cout<<"继续按其他分类排序?Y/N:";cin>>ch;if(ch=='Y'||ch=='y')goto jp_c2;}void Show_all(linklist L){linklist p;p=L->next;system("cls");system("color f0");cout<<"所有职工信息:"<<endl;cout<<"--------------------------------------------------------------------------------";cout<<"姓名性别生日工日学历职务地址电话"<<endl;while(p){printf("%-9s",p->name);printf("%-7s",p->sex);printf("%-13s",p->birthday);printf("%-13s",p->workday);printf("%-8s",p->xueli);printf("%-10s",p->zhiwu);printf("%-9s",p->address);printf("%-11s",p->tel);p=p->next;}cout<<"--------------------------------------------------------------------------------"; }//--------------------------------------------------------------------------------------//主函数//--------------------------------------------------------------------------------------int main(){char ch;int m;linklist L;xinxi Worker;system("title 职工管理系统");system("color f0");menu();readall(L,Worker);for(int i=0;;i++){cout<<"请选择:";cin>>m;if(m==0)break;switch (m){case 1: create();readall(L,Worker);break;case 2: insert();readall(L,Worker);break;case 3: del(L); break;case 4: search(L); break;case 5: xiugai(L); break;case 6: rank(L); break;case 7: Show_all(L); break;default: cout<<"输入错误!\n";}cout<<"continue? Y/N:";cin>>ch;if(ch=='Y'||ch=='y'){system("cls");menu();continue;}elsebreak;}system("cls");system("color 3f");EXIT();printf("\n任意键退出程序!\n");getch();return 0;}。
职工管理系统课程设计报告(C++)
题目: 职工信息管理系统一、课程设计的目的1.进一步巩固C++语言理论基础。
2.熟练掌握程序设计的一般技巧和方法。
3.培养解决综合性实际问题的能力。
二、课程设计任务题目:职工信息管理系统题目要求:完成一个职工信息管理系统的设计,设计主要实现以下功能:(1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、参加工作时间和年龄。
(2)使用集成的方法构成三个类(雇员类,教师类个工人类,其中雇员类是虚基类,教师类个工人类是派生类),相应的对象防治10个职工信息。
(3)编写成员函数,用来输出数组内容。
(4)按不同的类别输出职工信息,比如按系输出驾驶信息。
(可选功能)(5)检索(查找)指定信息(如按名字检索)题目职工信息管理系统一、题目分析题目需要构造三个类,对于系统中的每个功能,需要有专门的函数,进行输入和输出!设计雇员类,需要有数据成员char num[20] char name[20] int age char xi[20] 等!由派生类派生出教师类,工人类,将其中的数据成员,成员函数都设计成公有成员函数。
成员函数包括void zhucaidan ,void chaxun ,void xichaxun, void xianshi 等。
对于主函数,需要定义两个对象,teacher t;workers w; 定义两个对象,输出按1管理教师信息,输出2管理工人信息,然后多次使用switch 语句case1 case2------等。
再调用zhucaidan(),实现switch语句的转换。
退出程序时,由exit(0) 函数实现,函数包含在stdlib.h 头文件上。
二、程序代码#include<iostream.h>#include<stdio.h>#include<fstream.h>#include<stdlib.h>#include<string.h>#include<iomanip.h>static int sum=0;static int sum1=0;class employees{public:char birthday[20];char job[20];char num[20];char name[20];char income[20];int age;char sex[10];};class Teacher:virtual public employees{public:char xi[10];public:int zhucaidan();void record();void add();char chaxun();void del();void xichaxun();void xianshi();void namejiansuo();friend ostream&operator<<(ostream&,Teacher&);friend istream&operator<<(istream&,Teacher&);}teacher[100];int Teacher::zhucaidan(){cout<<"\t\t\t--------------------------------------------\n";cout<<"\t\t\t 教师信息管理系统\n";cout<<"\t\t\t--------------------------------------------\n";cout<<"\t\t\t+ [1]---按编号查询教师信息+\n";cout<<"\t\t\t+ [2]---按系查询教师信息+\n";cout<<"\t\t\t+ [3]---按名字查询教师信息+\n";cout<<"\t\t\t+ [4]---显示教师全部信息+\n";cout<<"\t\t\t+ [5]---删去教师信息+\n";cout<<"\t\t\t+ [6]---增加教师信息+\n";cout<<"\t\t\t+ [7]---退出系统+\n";cout<<"\t\t\t+****************************+\n";cout<<"\t\t\t---------------------------------------------\n";cout<<"请输入您的选择:";int choice;cin>>choice;return (choice); }void Teacher::record(){ofstream outfile("教师信息.txt",ios::out);char c;cout<<"请输入教师信息,以@结束:"<<endl;while (c!='@'){cout<<"请输入教师编号:";cin>>teacher[sum].num;outfile<<setw(5)<<teacher[sum].num; cout<<"请输入教师姓名:";cin>>teacher[sum].name;outfile<<setw(5)<<teacher[sum].name; cout<<"请输入教师性别:";cin>>teacher[sum].sex;outfile<<setw(5)<<teacher[sum].sex;cout<<"请输入教师工资:";cin>>teacher[sum].income;outfile<<setw(5)<<teacher[sum].income;cout<<"请输入教师出生日期:";cin>>teacher[sum].birthday;outfile<<setw(5)<<teacher[sum].birthday;cout<<"请输入教师参加工作日期:";cin>>teacher[sum].job;outfile<<setw(5)<<teacher[sum].job;cout<<"请输入教师年龄:";cin>>teacher[sum].age;outfile<<setw(5)<<teacher[sum].age;cout<<"请输入教师系别:";cin>>teacher[sum].xi;outfile<<setw(5)<<teacher[sum].xi;cout<<"如果要继续输入请按g/如果要结束输入请按@:";cin>>c;sum++;cout<<endl;}cout<<"输入信息结束!"<<endl;ifstream infile("教师信息.txt",ios::in);for(int i=0;i<sum;i++){infile>>teacher[sum].num;infile>>teacher[sum].name;infile>>teacher[sum].sex;infile>>teacher[sum].income;infile>>teacher[sum].birthday;infile>>teacher[sum].job;infile>>teacher[sum].age;infile>>teacher[sum].xi;}}void Teacher::add(){cout<<endl<<endl<<endl;cout<<"请输入教师编号:";cin>>teacher[sum].num;cout<<"请输入教师姓名:";cin>>teacher[sum].name;cout<<"请输入教师性别:";cin>>teacher[sum].sex;cout<<"请输入教师工资:";cin>>teacher[sum].income;cout<<"请输入教师出生日期:";cin>>teacher[sum].birthday; cout<<"请输入教师参加工作日期:";cin>>teacher[sum].job; cout<<"请输入教师年龄:";cin>>teacher[sum].age;cout<<"请输入教师系别:";cin>>teacher[sum].xi;sum++;}char Teacher::chaxun(){cout<<endl<<endl<<endl;char num[20];int i=0;cout<<"请输入要查询的教师的编号:"<<endl;cin>>num;for(i=0;i<sum;i++)if(strcmp(teacher[i].num,num)==0){cout<<"您要查询的信息是:"<<endl;cout<<teacher[i];}elsecout<<"您的输入有误,请重新输入:"<<endl;return 0;}void Teacher::del(){cout<<endl<<endl<<endl;char num1[20];int j=0;cout<<"请输入要删去的教师的编号:"<<endl;cin>>num1;for(int i=0;i<sum;i++)if(strcmp(teacher[i].num,num1)==0){j=i;}for(;j<sum;j++){teacher[j]=teacher[j+1];}sum--;cout<<"您要删去的信息已经成功删去!"<<endl;}void Teacher::xichaxun(){cout<<endl<<endl<<endl;char xi[5];int i=0;cout<<"请输入要查询教师的系别:"<<endl;cin>>xi;for(i=0;i<sum;i++){if(strcmp(teacher[i].xi,xi)==0){cout<<"你要查询的信息是:"<<endl;cout<<teacher[i];}elsecout<<"您的输入有误,请重新输入:"<<endl;}}void Teacher::xianshi(){cout<<"---------全部教师信息----------/t/t"<<endl;cout<<"编号"<<'\t'<<"姓名"<<'\t'<<"性别"<<'\t'<<"工资"<<'\t'<<"出生日期"<<'\t'<<"参加工作日期"<<'\t'<<"年龄"<<'\t'<<"系别"<<'\t'<<'\n';for(int i=0;i<sum;i++)cout<<teacher[i].num<<'\t'<<teacher[i].name<<'\t'<<teacher[i].sex<<'\t'<<teacher[i].income<<'\t'< <teacher[i].birthday<<'\t'<<'\t'<<teacher[i].job<<'\t'<<'\t'<<teacher[i].age<<'\t'<<teacher[i].xi<<'\t' <<'\n';}void Teacher::namejiansuo(){char name[10];int i=0;cout<<"请输入要查询教师的名字:"<<endl;cin>>name;for(i=0;i<sum;i++)if(strcmp(teacher[i].name,name)==0){cout<<"你要查询的信息是:"<<endl;cout<<teacher[i];}elsecout<<"您的输入有误,查无此人"<<endl;}istream &operator>>(istream &in,Teacher &t){cout<<"输入教师编号:";cin>>t.num;cout<<"输入教师姓名:";cin>>teacher[sum].name;cout<<"输入教师性别:";cin>>teacher[sum].sex;cout<<"输入教师工资:";cin>>teacher[sum].income;cout<<"输入教师出生日期:";cin>>teacher[sum].birthday;cout<<"输入教师参加工资日期:";cin>>teacher[sum].job;cout<<"输入教师年龄:";cin>>teacher[sum].age;cout<<"输入教师系别:";cin>>teacher[sum].xi;return in;}ostream&operator<<(ostream &out,Teacher &t){cout<<"教师编号:"<<t.num<<endl;cout<<"教师姓名:"<<<<endl;cout<<"教师性别:"<<t.sex<<endl;cout<<"教师工资:"<<t.income<<endl;cout<<"教师出生日期:"<<t.birthday<<endl;cout<<"教师参加工作日期:"<<t.job<<endl;cout<<"教师年龄:"<<t.age<<endl;cout<<"教师系别:"<<t.xi<<endl;cout<<endl;return out;}class Workers:virtual public employees{public:char xi[10];public:int zhucaidan();void record();void add();char chaxun();void del(); void chaxun();void xianshi()void namejiansuo();friend ostream&operator<<(ostream &,Workers &);friend istream&operator>>(istream &,Workers &); }workers[100];int Workers::zhucaidan(){cout<<"\t\t\t+----------------------------------------+\n";cout<<"\t\t\t+ 工人信息管理系统+\n";cout<<"\t\t\t+-----------------------------------------+\n";cout<<"\t\t\t+ [1]---按编号查询工人信息+\n";cout<<"\t\t\t+ [2]---按系查询工人信息+\n";cout<<"\t\t\t+ [3]---按名字查询工人信息+\n";cout<<"\t\t\t+ [4]---显示工人全部信息+\n";cout<<"\t\t\t+ [5]---删去工人信息+\n";cout<<"\t\t\t+ [6]---增加工人信息+\n";cout<<"\t\t\t+ [7]---退出系统+\n";cout<<"\t\t\t+****************************+\n";cout<<"\t\t\t-------------------------------------------\n";cout<<"请输入您的选择:";int choice;cin>>choice;return (choice);}void Workers::record(){ofstream outfile("工人信息.txt",ios::out);char c;cout<<"请输入工人信息,以@结束:"<<endl;while (c!='@'){cout<<"请输入工人编号:";cin>>workers[sum1].num;outfile<<setw(5)<<workers[sum1].num; cout<<"请输入工人姓名:";cin>>workers[sum1].name;outfile<<setw(5)<<workers[sum1].name; cout<<"请输入工人性别:";cin>>workers[sum1].sex;outfile<<setw(5)<<workers[sum1].sex;cout<<"请输入工人工资:";cin>>workers[sum1].income;outfile<<setw(5)<<workers[sum1].income;cout<<"请输入工人出生日期:";cin>>workers[sum1].birthday;outfile<<setw(5)<<workers[sum1].birthday;cout<<"请输入工人参加工作日期:";cin>>workers[sum1].job;outfile<<setw(5)<<workers[sum1].job;cout<<"请输入工人年龄:";cin>>workers[sum1].age;outfile<<setw(5)<<workers[sum1].age; cout<<"请输入工人系别:";cin>>workers[sum1].xi;outfile<<setw(5)<<workers[sum1].xi;cout<<"如果要结束输入请按@或者继续:";cin>>c;sum1++;cout<<endl;}cout<<"输入信息结束!"<<endl;ifstream infile("工人信息.txt",ios::in);for(int i=0;i<sum1;i++){infile>>workers[sum1].num;infile>>workers[sum1].name;infile>>workers[sum1].sex;infile>>workers[sum1].income;infile>>workers[sum1].birthday;infile>>workers[sum1].job;infile>>workers[sum1].age;infile>>workers[sum1].xi;}}void Workers::add(){cout<<"请输入工人编号:";cin>>workers[sum1].num;cout<<"请输入工人姓名:";cin>>workers[sum1].name;cout<<"请输入工人性别:";cin>>workers[sum1].sex;cout<<"请输入工人工资:";cin>>workers[sum1].income;cout<<"请输入工人出生日期:";cin>>workers[sum1].birthday; cout<<"请输入工人参加工作日期:";cin>>workers[sum1].job; cout<<"请输入工人年龄:";cin>>workers[sum1].age;cout<<"请输入工人系别:";cin>>workers[sum1].xi;sum1++;}char Workers::chaxun(){char num[20];int i=0;cout<<"请输入要查询的工人的编号:"<<endl;cin>>num;for(i=0;i<sum1;i++)if(strcmp(workers[i].num,num)==0){cout<<"您要查询的信息是:"<<endl;cout<<workers[i];}elsecout<<"您的输入有误,请重新输入:"<<endl;return 0;}void Workers::del(){cout<<endl<<endl<<endl;char num1[20];int j=0;cout<<"请输入要删去的工人的编号:"<<endl;cin>>num1;for(int i=0;i<sum1;i++)if(strcmp(workers[i].num,num1)==0){j=i;}for(;j<sum1;j++){workers[j]=workers[j+1];}sum1--;cout<<"您要删去的信息已经成功删去!"<<endl;}void Workers::xichaxun(){char xi[10];int i=0;cout<<"请输入要查询工人的系别:"<<endl;cin>>xi;for(i=0;i<sum1;i++){if(strcmp(workers[i].xi,xi)==0){cout<<"你要查询的信息是:"<<endl;cout<<workers[i];}elsecout<<"您的输入有误,请重新输入:"<<endl;}}void Workers::xianshi(){cout<<"*********全部工人信息********/t/t"<<endl;cout<<"编号"<<'\t'<<"姓名"<<'\t'<<"性别"<<'\t'<<"工资"<<'\t'<<"出生日期"<<'\t'<<"参加工作日期"<<'\t'<<"年龄"<<'\t'<<"系别"<<'\t'<<'\n';for(int i=0;i<sum1;i++)cout<<workers[i].num<<'\t'<<workers[i].name<<'\t'<<workers[i].sex<<'\t'<<workers[i].income<<'\t'<<workers[i].birthday<<'\t'<<'\t'<<workers[i].job<<'\t'<<'\t'<<workers[i].age<<'\t'<<workers[i]. xi<<'\t'<<'\n';}void Workers::namejiansuo(){cout<<endl<<endl<<endl;char name[10];int i=0;cout<<"请输入要查询工人的名字:"<<endl;cin>>name;for(i=0;i<sum1;i++)if(strcmp(workers[i].name,name)==0){cout<<"你要查询的信息是:"<<endl;cout<<workers[i];}elsecout<<"您的输入有误,请重新输入:"<<endl;}istream &operator>>(istream &in,Workers &w){cout<<"输入工人编号:";cin>>w.num;cout<<"输入工人姓名:";cin>>workers[sum1].name;cout<<"输入工人性别:";cin>>workers[sum1].sex;cout<<"输入工人工资:";cin>>workers[sum1].income;cout<<"输入工人出生日期:";cin>>workers[sum1].birthday;cout<<"输入工人参加工作日期:";cin>>workers[sum1].job;cout<<"输入工人年龄:";cin>>workers[sum1].age;cout<<"输入工人的系别是:";cin>>workers[sum1].xi;return in;}ostream &operator<<(ostream &out,Workers &w){cout<<"编号:"<<w.num<<endl;cout<<"姓名:"<<<<endl;cout<<"性别:"<<w.sex<<endl;cout<<"工资:"<<w.income<<endl;cout<<"出生日期:"<<w.birthday<<endl;cout<<"参加工作日期:"<<w.job<<endl;cout<<"年龄:"<<w.age<<endl;cout<<"系别:"<<w.xi<<endl;cout<<endl<<endl;return out;}int main(){cout<<"\t\t\t*----------------------------*\n";cout<<"\t\t\t* 欢迎使用职工系统*\n";cout<<"\t\t\t*----------------------------*\n";cout<<"\t\t\t* 进入教师信息系统请按1 *\n";cout<<"\t\t\t* 进入工人信息系统请按2 *\n";cout<<"\t\t\t*----------------------------*\n";int choice;Teacher t;Workers w;cout<<"请输入您的选择:";cin>>choice;switch(choice){case 1:t.record();break;case 2:w.record();break;}int x;while(1){switch(choice){case 1:x=t.zhucaidan();break;case 2:x=w.zhucaidan();break;}if(x==0){cout<<"谢谢使用!"<<endl;break;}elseswitch(x){case 1:switch(choice){case 1:t.chaxun();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;case 2:w.chaxun();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;}break;case 2:switch(choice){case 1:t.xichaxun();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;case 2:w.xichaxun();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;}break;case 3:switch(choice) {case 1:jiansuo();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;case 2:jiansuo();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;}break;case 4:switch(choice){case 1:t.xianshi();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;case 2:w.xianshi();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;} break;case 5:switch(choice){case 1:t.del();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;case 2:w.del();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;}break;case 6:switch(choice){case 1:t.add();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;case 2:w.add();cout<<"请按回车键返回主菜单···"<<endl;getchar();break;}break;case 7:exit(0);break;default :cout<<"输入有误:";break;}}return 0;}三、运行结果四、总结这次实习有很大收获,它不仅让我学习到了C语言的知识,而且认识到C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此;简单总结以下几点:。
职工管理系统课程设计报告c语言
职工管理系统课程设计报告c语言一、引言职工管理系统是一个针对公司或组织内部职工信息管理的软件系统,主要用于记录职工的基本信息、工作情况、考勤记录等,方便管理人员进行数据统计和分析。
本文将介绍一个基于C语言的职工管理系统的设计与实现。
二、系统设计1. 系统功能职工管理系统主要包括以下功能模块:•添加新职工信息•修改职工信息•删除职工信息•查询职工信息•统计各部门职工人数•统计各职工职务人数2. 数据结构为了有效地存储和管理职工信息,系统采用了以下数据结构:•职工信息结构体•部门信息结构体3. 主要算法系统主要采用以下算法实现各功能模块:•添加职工信息:通过链表添加新结点•修改职工信息:更新结点中的字段信息•删除职工信息:在链表中删除指定结点•查询职工信息:根据输入的关键词在链表中查找•统计职工人数:遍历链表统计人数•统计职务人数:遍历链表统计各职务人数三、系统实现系统采用C语言编写,通过文件读写实现数据的持久化存储。
程序运行时,首先读取保存在文件中的职工信息并加载到内存中,用户可以通过交互式界面选择相应功能进行操作。
操作完成后,系统会将数据写回文件,保证数据的持久性。
四、系统优化与改进为了提高系统的性能和用户体验,可以考虑以下改进方案:•引入数据库存储,提高数据读写效率•添加更多的查询条件,提供更灵活的查询功能•增加权限管理模块,限制不同用户的操作权限•完善异常处理机制,提高系统的稳定性和可靠性五、总结通过本次课程设计,我们深入学习了C语言的应用,掌握了职工管理系统的设计与实现方法。
未来可以基于此系统进行更多功能的扩展和优化,提高系统的实用性和适用性。
以上是本文对职工管理系统课程设计报告的详细介绍,希望能对读者有所帮助。
职工管理系统课程设计报告
职工管理系统课程设计报告一、项目背景随着信息技术的迅速发展,企业对于职工管理系统的需求日益增长。
职工管理系统作为一种集成化的管理工具,可以帮助企业高效地管理员工信息、薪资福利等相关数据,提升管理效率、节省人力成本。
本课程设计旨在通过开发一个职工管理系统来帮助学生深入理解管理信息系统的基本原理和应用。
二、项目目标本项目旨在设计并实现一个功能完善的职工管理系统,主要包括以下目标: 1. 实现职工信息的录入、修改和查询功能; 2. 实现薪资福利的管理和计算功能; 3. 实现权限管理和安全控制功能; 4. 提升系统的用户友好性和操作性; 5. 实现系统的数据备份和恢复功能。
三、系统需求分析3.1 功能需求1.职工信息管理模块:包括职工信息的录入、修改和查询功能;2.薪资福利管理模块:包括薪资发放、津贴计算等功能;3.权限管理模块:包括用户权限分配和访问控制功能;4.数据备份模块:包括定期数据备份和恢复功能。
3.2 非功能需求1.用户友好性:系统界面简洁明了,操作简单易懂;2.数据安全性:系统应具有良好的数据加密和权限控制机制;3.稳定性:系统应具有一定的容错能力,能够稳定运行。
四、系统设计与实现4.1 系统架构设计本系统采用B/S架构,前端使用HTML、CSS、JavaScript等技术开发,后端采用Java语言搭建,数据库采用MySQL存储数据。
4.2 模块设计1.职工信息管理模块:包括职工信息的增删改查功能;2.薪资福利管理模块:包括薪资发放、津贴计算等功能;3.权限管理模块:包括用户权限分配和访问控制功能;4.数据备份模块:包括数据备份和恢复功能。
4.3 系统界面设计系统界面简洁明了,采用响应式设计,适配不同大小屏幕的设备,提供友好的用户交互体验。
五、系统测试与维护5.1 系统测试系统测试包括单元测试、集成测试、系统测试和用户验收测试,确保系统功能正常、性能稳定。
5.2 系统维护系统上线后需要定期进行数据备份、安全检查和性能优化,确保系统稳定运行。
职工管理系统课程设计
职工管理系统课程设计一、课程目标知识目标:1. 学生能理解职工管理系统的基本概念和功能,掌握其基本操作流程。
2. 学生能掌握职工管理系统中的数据录入、查询、更新和删除等基本操作。
3. 学生能了解数据库管理的基本原理,并将其应用于职工管理系统的实际操作中。
技能目标:1. 学生能运用所学知识,独立进行职工管理系统的基本操作,包括录入新员工信息、查询员工数据、更新员工资料和删除离职员工信息。
2. 学生能通过实际操作,培养问题解决能力和团队协作能力,提高在信息化办公环境下的工作效率。
3. 学生能运用数据库管理技能,对职工管理系统进行优化和拓展,满足不同场景下的管理需求。
情感态度价值观目标:1. 学生通过学习职工管理系统,培养对信息技术学科的兴趣和热情,提高信息素养。
2. 学生在学习过程中,培养良好的团队合作意识,尊重他人意见,积极沟通,共同解决问题。
3. 学生通过了解职工管理系统在企业管理中的重要性,认识到信息技术在现代社会中的广泛应用和价值,增强社会责任感。
课程性质分析:本课程为信息技术学科,结合职工管理系统,注重实践操作和实际应用。
课程设计注重培养学生的动手能力和解决实际问题的能力。
学生特点分析:学生为初中年级,具备一定的计算机操作基础,对新鲜事物充满好奇心,喜欢动手实践,但注意力容易分散,需要激发兴趣和引导。
教学要求:1. 教学内容与实际应用紧密结合,注重培养学生的学习兴趣和动手能力。
2. 教学过程中,教师应关注学生个体差异,给予个性化指导,提高学生的学习效果。
3. 教学评价以学生的实际操作能力为主要依据,关注学生在学习过程中的进步和成长。
二、教学内容本课程教学内容紧密结合职工管理系统,依据课程目标,制定以下教学大纲:1. 职工管理系统概述- 了解职工管理系统的基本概念、功能和作用- 学习职工管理系统的发展历程和应用领域2. 职工管理系统操作流程- 学习职工信息录入、查询、更新和删除等基本操作- 掌握职工管理系统中的权限管理和数据备份恢复功能3. 数据库管理原理- 学习数据库的基本概念、分类和结构- 掌握数据库设计原则和SQL语句编写方法4. 实践操作与案例分析- 结合实际案例,进行职工管理系统的操作实践- 分析职工管理系统在实际应用中的优缺点,探讨优化方案5. 信息技术与团队协作- 培养学生在职工管理系统操作中的团队协作能力- 学习如何在信息化办公环境中进行有效沟通与协作教学内容安排与进度:1. 第1-2周:职工管理系统概述、操作流程学习2. 第3-4周:数据库管理原理、SQL语句编写方法3. 第5-6周:实践操作与案例分析、信息技术与团队协作4. 第7-8周:课程总结、学生项目展示与评价教材章节及内容:1. 教材第1章:职工管理系统概述2. 教材第2章:职工管理系统操作流程3. 教材第3章:数据库管理原理4. 教材第4章:实践操作与案例分析5. 教材第5章:信息技术与团队协作三、教学方法本课程根据教学内容和课程目标,选择以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:- 对于职工管理系统概述、数据库管理原理等理论性较强的内容,采用讲授法进行教学。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简单职工管理系统课程设计报告
课程设计(论文)
题目名称简单的职工管理系统课程名称数据结构课程设计
学生姓名
学号
系、专业信息工程系、通信工程指导教师
12 月 23 日
摘要
建立一个“简单的职工管理系统”,系统以菜单方式工作,编写存放有职工基本信息,包含职工工号,姓名,性别,出生年月,学历,职务,工资,住址,电话等,而且要求录入职工号不重复;录入的职工号信息要求用文件形式保存,并能够对其进行浏览、查询、修改、删除等基本操作,建立职工信息管理的文件。
关键词:职工信息管理;文件;浏览;查询;修改;插入;删除;排序
目录
1 问题描述 (2)
2 需求分析 (2)
3 概要设计 (3)
3.1抽象数据类型定义 (3)
3.2模块划分 (3)
4 详细设计 (4)
4.1数据类型的定义 (4)
4.2主要模块的算法描述 (6)
5 测试分析 (7)
6 课程设计总结 (12)
参考文献 (12)
附录(源程序清单) (13)。