C++高校工资管理系统
高校工资管理系统说明书
高校工资管理系统说明书一、引言高校工资管理系统是为了实现高校工资管理的自动化、规范化而开发的一款软件系统。
本系统旨在提高高校工资管理的效率和准确性,简化工资计算过程,确保工资发放的公平和合理。
二、系统概述高校工资管理系统是一个基于网络的管理系统,具有用户管理、工资计算和工资发放等功能。
系统分为管理员和教职工两个用户角色,管理员负责系统的管理和设置,教职工可以查询个人工资信息和相关统计数据。
三、系统功能1. 用户管理管理员可以添加、修改和删除教职工的个人信息,包括姓名、工号、职位、职称等。
同时,管理员还可以为每个用户设置登录账号和密码,确保系统的安全性。
2. 工资计算系统根据教职工的个人信息和工资计算规则,自动计算每个教职工的应发工资。
计算规则包括基本工资、津贴、奖金、扣款等项目,系统支持自定义计算规则,管理员可以根据实际情况进行设置。
3. 工资发放系统自动生成工资条,包括应发工资、实发工资、扣款明细等信息。
管理员可以通过系统批量发放工资,同时可以手动修改个别教职工的工资数据。
4. 工资查询教职工可以通过系统查询个人的工资信息,包括应发工资、实发工资、扣款明细等。
同时,系统还提供了按部门、职称等条件进行工资统计的功能,方便管理员进行工资分析和报表生成。
四、系统特点1. 灵活性系统支持自定义工资计算规则,管理员可以根据不同职位、职称设定不同的计算方式,满足不同教职工的需求。
2. 安全性系统采用用户权限管理机制,确保只有授权的用户才能访问和操作系统;同时,系统还提供了数据备份功能,防止数据丢失或损坏。
3. 效率系统自动计算工资,减少了繁琐的手工计算过程,大大提高了工资管理的效率。
同时,系统还提供了批量发放工资的功能,节省了人力资源的投入。
4. 可扩展性系统具有良好的扩展性,可以根据高校的需求进行二次开发,增加更多的功能模块,满足不同高校的工资管理需求。
五、使用指南1. 管理员登录管理员使用自己的账号和密码登录系统,进入管理员界面。
C课程设计任务书高校工资管理系统
课程设计报告课程名称面向对象程序设计课题名称高校工资管理系统专业通信工程班级1402班学号201403020222姓名熊舒炼指导教师乔汇东、胡瑛、曹燚2016年1月4 日湖南工程学院课程设计任务书课程名称面向对象程序设计课题高校工资管理系统专业班级通信工程1402班学生姓名熊舒炼学号201403020222指导老师乔汇东、胡瑛、曹燚审批任务书下达日期2015年12 月25日任务完成日期2016 年1月 4 日一、设计内容与设计要求1.课程设计目的:面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。
要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。
2.课题题目⑴公司考勤管理系统⑵高校学籍管理系统⑶高校工资管理系统⑷高校人事管理系统⑸文件加密管理系统3.设计要求:⑴设计课题题目:第5个课题是扩展课题,有能力完成的同学可以选择。
其余每位同学根据自己学号除以4所得的余数加一选择相应题号的课题。
换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。
②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。
③完成系统详细设计:包括数据库需求分析;类层次图;界面设计与各功能模块实现。
④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。
⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。
⑥关键源程序(带注释)⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。
⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。
二、进度安排第 17 周星期一 9 时:00分——12时:00分星期二 9时:00分——12时:00分星期三9 时:00分——12时:00分星期四 9时:00分——12时:00分课题3:高校工资管理系统(一)、课程设计题目:高校工资管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
c语言工资管理系统课程设计
c语言工资管理系统课程设计一、课程目标知识目标:1. 掌握C语言中数据类型、变量、运算符、控制结构等基本知识;2. 学会使用数组、结构体等C语言高级特性;3. 理解文件操作在C语言中的应用;4. 掌握工资管理系统的基本功能模块及其实现方法。
技能目标:1. 能够运用C语言编写简单的工资管理系统程序;2. 学会分析工资管理系统的需求,设计合理的程序结构;3. 掌握调试程序、解决常见编译错误和逻辑错误的方法;4. 提高学生的编程实践能力和问题解决能力。
情感态度价值观目标:1. 培养学生对待编程的兴趣和热情,激发自主学习C语言的积极性;2. 培养学生的团队协作精神,提高沟通与协作能力;3. 增强学生的信息安全意识,注重保护用户隐私;4. 培养学生遵循编程规范,养成良好的编程习惯。
课程性质分析:本课程为C语言高级应用课程,以实现工资管理系统为项目驱动,结合实际应用场景,让学生在实践中掌握C语言编程技能。
学生特点分析:学生已具备C语言基础知识,具有一定的编程能力,但对复杂程序设计、模块化编程尚需进一步锻炼。
教学要求:结合课程性质和学生特点,注重实践操作,引导学生自主学习,培养编程思维和问题解决能力。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. C语言基础回顾:数据类型、变量、常量、运算符、控制结构(条件语句、循环语句);2. 函数:函数定义、调用、参数传递、返回值;3. 数组与字符串:一维数组、二维数组、字符串操作;4. 指针:指针概念、指针运算、指针与数组、指针与函数;5. 结构体:结构体定义、结构体变量创建、结构体数组、结构体指针;6. 文件操作:文件打开与关闭、读写文件、文件定位;7. 工资管理系统功能模块设计:需求分析、模块划分、数据结构设计;8. 编程实践:编写工资管理系统各功能模块代码,如员工信息管理、工资计算、工资查询等;9. 系统调试与优化:编译错误处理、逻辑错误调试、性能优化;10. 代码规范与编程习惯:命名规范、代码组织、注释使用。
大一c语言薪水管理系统
大一c语言薪水管理系统随着现代企业的发展,薪水管理成为了重要的管理内容之一,对于公司而言,精确地管理各项薪资收入和支出,对于企业运营来说至关重要。
因此,设计和开发一个薪水管理系统避免了薪资管理的繁琐而混乱,也确保了薪资的正常发放。
在此,我们将介绍一个大一c语言的薪水管理系统。
我们的薪水管理系统主要面向企业内部,管理员通过登陆操作,进入薪水管理系统的主页面。
主页面以表格的方式展示了所有员工的基本信息以及相应的薪资信息,如员工编号、员工姓名、基本工资、津贴、税金等。
管理员可以新增、删除、修改员工信息,也可以根据员工编号或姓名进行搜索,并对薪资进行统计。
在系统的开发过程中,我们为了保证数据的准确性和安全性,建立了员工信息管理、薪资管理和账户管理三个模块的数据库,分别用于存储员工的基本信息、薪资信息和管理员的账户信息,确保了不同模块之间的数据和权限隔离。
在员工信息管理模块中,管理员可以新增、删除和修改员工的个人信息,比如姓名、性别、年龄、职位、联系方式等等,保证了员工信息的完整性和及时更新。
在薪资管理模块中,管理员可以进行员工的工资核算,包括基本工资、奖金、津贴、扣款(如税金、保险等),还可以查看每个员工的详细薪资单和工资明细。
同时,管理员可以设定系统的计税标准和津贴标准,自动计算出每个员工的税前工资和税后工资。
此外,系统还提供了优秀员工的激励机制,按照员工的绩效对其进行奖励,增强员工的凝聚力和积极性。
在账户管理模块中,管理员可以登陆账户,设置个人账户信息和密码,并可进行修改或删除。
此外,系统还提供了密码重置和修改密码的功能,确保了管理员的账户安全性和操作权限。
总之,本薪水管理系统具有操作简单、功能全面、效率高、数据准确等优点,对于企业内部的薪资管理和员工管理提供了有力支持,帮助企业实现精细化管理,提高运营效率和经济效益。
c语言工资管理系统课程设计
c语言工资管理系统课程设计一、课程目标知识目标:1. 让学生掌握C语言中数组、结构体、文件操作等基本知识,并能将其应用于工资管理系统。
2. 使学生了解工资管理系统的基本功能需求,如员工信息录入、查询、修改和删除等。
3. 帮助学生理解工资计算方法,包括基本工资、加班工资、税金和实发工资等。
技能目标:1. 培养学生运用C语言设计、编写和调试工资管理系统的能力。
2. 提高学生分析问题、解决问题的能力,使其能够根据实际需求,优化系统功能。
3. 培养学生团队协作和沟通能力,通过分组完成任务,共同完成课程设计。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习和探究的精神。
2. 培养学生认真负责的态度,对待课程设计任务,养成良好的编程习惯。
3. 引导学生关注实际应用,理解计算机技术在企业管理中的重要性,提高职业素养。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为C语言课程设计,旨在帮助学生将所学知识应用于实际项目中,提高编程能力和解决实际问题的能力。
2. 学生特点:学生已经掌握了C语言的基本知识,具有一定的编程基础,但对实际项目开发尚缺乏经验。
3. 教学要求:结合教材内容,以实用性为导向,注重培养学生的实际操作能力和团队协作能力。
二、教学内容1. 教学大纲:a. C语言数组、结构体和文件操作复习b. 工资管理系统功能需求分析c. 工资计算方法及实现d. 系统设计、编码与调试e. 团队协作与项目展示2. 教学内容安排与进度:a. 第一周:复习C语言数组、结构体和文件操作相关知识,讲解工资管理系统项目背景和功能需求。
b. 第二周:分析工资计算方法,引导学生设计系统功能模块,编写系统设计文档。
c. 第三周:根据设计文档,分组进行编码,实现工资管理系统的基础功能。
d. 第四周:优化系统功能,进行系统调试,确保系统稳定运行。
e. 第五周:团队协作,整理项目文档,准备项目展示。
3. 教材章节与内容:a. 数组、结构体和文件操作:教材第3章、第4章、第6章b. 工资管理系统功能需求分析:教材第10章 实践项目案例c. 工资计算方法及实现:教材第7章 循环与分支结构d. 系统设计、编码与调试:教材第8章 函数与模块化编程e. 团队协作与项目展示:教材第12章 软件工程实践4. 教学内容列举:a. 数组、结构体和文件操作:数组的使用、结构体定义和操作、文件读写。
C课程设计《工资管理系统》
C 课程设计《工资管理系统》一、教学目标本课程的目标是让学生掌握工资管理系统的开发和应用。
通过本课程的学习,学生将能够理解工资管理系统的原理,熟悉工资管理系统的开发流程,掌握工资管理系统的操作方法,并能够运用工资管理系统解决实际问题。
具体来说,知识目标包括掌握工资管理系统的概念、特点和应用领域;技能目标包括能够使用工资管理系统进行工资计算、工资条发放和管理;情感态度价值观目标包括培养学生对工资管理系统的兴趣,提高学生对信息化管理的重要性的认识。
二、教学内容本课程的教学内容主要包括工资管理系统的原理、开发流程和操作方法。
首先,将介绍工资管理系统的概念、特点和应用领域,使学生了解工资管理系统的基本情况。
然后,将讲解工资管理系统的开发流程,包括需求分析、系统设计、编码实现和测试等步骤,使学生掌握工资管理系统的开发方法。
接下来,将介绍工资管理系统的操作方法,包括工资计算、工资条发放和管理等功能,使学生能够熟练使用工资管理系统。
三、教学方法为了实现教学目标,将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
首先,通过讲授法向学生传授工资管理系统的相关知识,使学生掌握基本概念和原理。
然后,通过讨论法引导学生进行思考和讨论,提高学生对工资管理系统的理解和应用能力。
接着,通过案例分析法让学生分析实际案例,培养学生解决实际问题的能力。
最后,通过实验法让学生动手实践,熟练掌握工资管理系统的操作方法。
四、教学资源为了支持教学内容和教学方法的实施,将选择和准备适当的教学资源。
教材方面,将选用权威、实用的工资管理系统教材,为学生提供系统的理论知识。
参考书方面,将推荐一些与工资管理系统相关的书籍,供学生深入学习和参考。
多媒体资料方面,将制作课件、演示文稿等,以图文并茂的形式展示工资管理系统的原理和操作方法。
实验设备方面,将准备计算机、投影仪等设备,为学生提供良好的学习环境和实践条件。
五、教学评估本课程的评估方式将包括平时表现、作业和考试等。
高校职工工资管理系统
系统分析报告高校工资管理系统一、系统任务分析开发《高校工资管理系统》软件。
基本要求:使用结构化的系统分析和设计,开发基于VC控制台的C语言应用软件。
任务陈述:工资管理系统按照工资标准每月创建一份工资表,工资标准由人事部门下达,没有变动时,标准一直执行。
职工由于职务、职称晋升,或者其他情况需要调整工资的,人事部门下达调整计划,并根据调整计划修改工资标准。
工龄工资自动计算修改,不用下达调整计划。
工资包含以下信息:月份、职工编号、基本工资、津贴、岗贴、工龄工资、应发数、工会费、个人所得税、应扣数和实发数。
工龄工资每年20元。
个人所得税计算方法设为:工资少于等于2000元为0;2000~2500元的部分为5%;2500—5000元的部分为10%;5000元以上的部分为20%。
系统在初次使用时,创建存储职工工资的工资标准,只创建一次。
以后可以增加、删除和修改。
在增加新职工时用,添加某职工的工资信息。
在职工离职或死亡时,删除某职工的工资信息。
在职工工资发生变化时,例如职工职务晋升、工龄变化时,修改职工的工资信息。
可以查询指定编号职工的工资信息。
可以查询某月全体职工的工资信息。
二、系统执行者系统的系统执行者有人事部门(不分类)和职工(分类)。
人事部门的工作有:管理职工信息——员工基本信息的录入,修改,删除。
管理工资信息、创建工资表,工资调整管理——添加、删除以及修改职工信息等。
职工可以工资信息。
职工分为教授、讲师、助教和其他等四类。
不同类别的职工,税收及工资标准不同,由人事部门统一管理。
三、系统用例(一)用例图(二)描述用例规约1.职工工资信息录入用例名称:职工工资信息录入参与执行者:管理员前置条件:一个合法的管理员已经登录到这个系统事件流:{将信息录入文档;读入文件;}2.职工个人工资信息查询{ 输入职工编号和密码;核对密码,如果无效则提示重输;显示职工其他信息;如果职工录入状态无效,则{ 提示职工输入无效,要求重新输入;}否则{显示该职工的工资信息如果选择”退出”,则返回上一级对话框;}备选流:用户可以在基本流中的任何一步选择退出,返回上一级界面。
高校工资管理系统设计C++
课程设计任务书课程名称面向对象程序设计课题高校工资管理系统专业班级学生姓名学号指导老师审批任务书下达日期2015年12月25日任务完成日期2016 年1月4日目录1.课程设计题目 (1)2 进度安排 (2)3.系统需求分析 (4)4.总体设计 (5)5.详细设计 (6)6.系统调试 (10)7结果分析 (14)8.总结 (15)9. 计算机科学与技术系课程设计评分表 (16)一、课题3:高校工资管理系统(一)、课程设计题目:高校工资管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书(三)、设计方法和基本原理:1、问题描述(功能要求):现一高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。
为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。
(1)各类人员的工作信息录入(2)可查询任意人员的工资信息(3)可修改任意人员的信息(4)可删除人员人员的信息(5)可显示工资超过或低于某个数值的全部人员信息(6)可统计按工资多少顺序显示人员信息(7)可按人员类型显示人员信息所有职员的基本信息包括,姓名、工号、岗位类型、基本工资,另外每类人员又有特殊信息,如教师有课时工作量。
相关信息:每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下:其中工资的基本构成如下:教师:基本工资+课时费;实验员:基本工资+实验室补助;行政人员:基本工资+行政补贴;教师兼职实验员:基本工资+课时费+实验室补助;行政人员兼职教师:基本工资+行政补贴+课时费;其中课时费计算:教师每月的基本工作量为100,教师兼职实验员每月基本工作量为70,行政人员没有基本工作量;课时费=(课时工作量-基本工作量)*20+基本工作量×25;注意:如果基本工作量没完成,则其课时费=课时工作量*20*0.8。
学院教职工工资管理系统C语言程序设计
学院教职工工资管理系统C语言程序设计#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 100int n;/*职工总数*/struct teacher{char name[20];/*姓名*/char sex[5];/*性别*/int year,mounth;/*出生年月*/int age;/*年龄*/char marrige[5];/*婚姻状况*/char addr[30];/*家庭住址*/char engineer[20];/*职称*/float wage;/*工资级别*/}teac[N];float sum=0;/*总工资*/void save();/*数据输入函数*/void all();/*计算工资总额函数*/void ave();/*计算平均工资函数*/void sort1();/*排序函数*/void sort2();/*排序函数*/void same();/*找工资级别相同职工名单函数*/void reviwe();/*修改函数*/void find();/*查询函数*/void print();/*数据输出函数*/void main(){char ch;printf(" ※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※\n");printf("╱********欢◇☆○进◇☆○院◇☆○工◇☆○资◇☆○理◇☆○统************╲\n");printf("╲********○☆◇迎○☆◇入○☆◇职○☆◇工○☆◇管○☆◇系○************╱\n");printf(" ※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※◆※\n");printf("\n☆请选择你所需要的服务,按回车确认☆\n");printf("\n\t\ts:数据输入\t\n\t\ta:总工资\t\n\t\tv:平均工资\t\n\t\tg:按工资排序\t\n\t\tx:按姓名排序\t\n\t\tm:工资级别相同职工名单\t\n\t\tr:修改\t\n\t\tf:查询\t\n\t\te:退出\t\n");scanf("%c",&ch);while(ch!='e'){switch(ch){case's':save();break;case'a':all();break;case'v':ave();break;case'g':sort1();break;case'x':sort2();break;case'm':same();break;case'r':reviwe();break;case'f':find();}printf("\n☆请再次选择你所需要的服务,按回车确认☆\n");printf("\n\t\ts:数据输入\t\n\t\ta:总工资\t\n\t\tv:平均工资\t\n\t\tg:按工资排序\t\n\t\tx:按姓名排序\t\n\t\tm:工资级别相同职工名单\t\n\t\tr:修改\t\n\t\tf:查询\t\n\t\te:退出\t\n");getchar();scanf("%c",&ch);}}/*函数功能:输入职工信息*/void save(){FILE * fp;int j=0,i;char ch[2];int n=0;printf("请选择输入方式:\n");printf("1:向管理系统重新输入数据,并删除原有数据\n2:向系统增加数据\n");scanf("%d",&i);/*输入选项*/if(i==1){if((fp=fopen("C:\\file1.dat","wb+"))==NULL)/*判断文件能否打开*/ {printf("can not open this file\n");exit(0);}printf("你是否要输入职工信息?(是:y/否:n)");scanf("%s",ch);while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)/*判断是否要录入新信息*/{printf("\n姓名\t");scanf("%s",teac[j].name);printf("\n性别(男:b/女:g)\t");scanf("%s",teac[j].sex);printf("\n生日:年\t");scanf("%d",&teac[j].year);printf("\n月\t");scanf("%d",&teac[j].mounth);while(teac[j].mounth<1||teac[j].mounth>12){printf("输入月份有误请重输");scanf("%d",&teac[j].mounth);}printf("\n年龄\t");scanf("%d",&teac[j].age);printf("\n婚否(是y/否n)\t");scanf("%s",teac[j].marrige);printf("\n地址\t");scanf("%s",teac[j].addr);printf("\n职称\t");scanf("%s",teac[j].engineer);printf("\n工资\t");scanf("%f",&teac[j].wage);fwrite(&teac[j],sizeof(struct teacher),1,fp);/*信息写入磁盘*/ j++;printf("你是否要输入职工信息?(是:y/否:n)\n"); getchar();scanf("%c",&ch);fclose(fp);/*关闭文件*/}if(i==2){if((fp=fopen("c:\\file1.dat","rb"))==NULL)/*判断文件能否打开*/ {printf("can not open this file\n");exit(0);}for(n=0;(fread(&teac[n],sizeof(structteacher),1,fp)==1);n++)continue;/*将职工信息读入内存*/fclose(fp);printf("你是否要增加职工信息?(是:y/否:n)");scanf("%s",ch);while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)/*判断是否要录入新信{printf("\n姓名\t");scanf("%s",teac[j+n].name);printf("\n性别(男:b/女:g)\t");scanf("%s",teac[j+n].sex);printf("\n生日:年\t");scanf("%d",&teac[j+n].year);printf("\n月\t");scanf("%d",&teac[j+n].mounth);while(teac[j+n].mounth<1||teac[j+n].mounth>12) {printf("输入月份有误请重输");scanf("%d",&teac[j].mounth);}printf("\n年龄\t");scanf("%d",&teac[j+n].age);printf("\n婚否(是y/否n)\t");scanf("%s",teac[j+n].marrige);printf("\n地址\t");scanf("%s",teac[j+n].addr);printf("\n职称\t");scanf("%s",teac[j+n].engineer);printf("\n工资\t");scanf("%f",&teac[j+n].wage);//fwrite(&teac[j+n],sizeof(struct teacher),1,fp);/*信息写入磁盘*/ n++;printf("你是否要输入职工信息?(是:y/否:n)\n");getchar();scanf("%c",&ch);}if((fp=fopen("c:\\file1.dat","wb"))==NULL)/*判断文件能否打开*/ {printf("can not open this file\n");exit(0);}for(j=0;j<n;j++)fwrite(&teac[j],sizeof(struct teacher),1,fp);/*信息写入磁盘*/ fclose(fp);}}/*函数功能:计算总工资*/void all(){FILE*fp;n=0;sum=0;if((fp=fopen("c:\\file1.dat","ab+"))==NULL){printf("can not open this file\n");exit(0);}printf("姓名\t性别\t生日:年月\t年龄\t婚否\t地址\t职称\t工资\n");for(n=0;(fread(&teac[n],sizeof(struct teacher),1,fp)==1);n++)/*将职工信息读入内存*/{printf("%s\t%s\t %d %d\t%d\t%s\t%st\t%s\t%f\n",teac[n].name,teac [n].sex,teac[n].year,teac[n].mounth,teac[n].age,teac[n].marrige,teac[n].ad dr,teac[n].engineer,teac[n].wage);/*将职工信息输出到屏幕上*/sum=sum+teac[n].wage;continue;}printf("总工资为%f\n",sum);fclose(fp);}/*函数功能:计算平均工资*/void ave(){float aver;n=0;all();/*调用计算总工资函数得到总工资*/(float)(aver=sum/n);/*计算平均工资*/printf("平均工资为%f\n",aver);}/*函数功能:按工资由低到高排序*/void sort1(){FILE *fp;int i,j;struct teacher temp;/*定义一个结构体变量一边在交换顺序是暂时存放数据*/if((fp=fopen("c:\\file1.dat","ab+"))==NULL)/*以只读方式打开一个二进制文件判断能否打开*/{printf("can not open this file\n");exit(0);}//while(!feof(fp))/*检查文件是否结束*/for(n=0;(fread(&teac[n],sizeof(struct teacher),1,fp)==1);n++)continue;/*将职工信息读入内存*//*排序*/for(i=0;i<n;i++){for(j=0;j<n-(i+1);j++)if(teac[j].wage>teac[j+1].wage){temp=teac[j];teac[j]=teac[j+1];teac[j+1]=temp;}}print();/*调用数据输出函数,输出结果*/ fclose(fp);}void sort2(){FILE *fp;int i,j;struct teacher temp;/*定义一个结构体变量一边在交换顺序是暂时存放数据*/if((fp=fopen("c:\\file1.dat","ab+"))==NULL)/*以只读方式打开一个二进制文件判断能否打开*/{printf("can not open this file\n");exit(0);}for(n=0;(fread(&teac[n],sizeof(struct teacher),1,fp)==1);n++)continue;/*将职工信息读入内存*//*排序*/for(i=0;i<n;i++){for(j=0;j<n-(i+1);j++)if(strcmp(teac[j].name,teac[j+1].name)>0){temp=teac[j];teac[j]=teac[j+1];teac[j+1]=temp;}}print();/*调用数据输出函数,输出结果*/fclose(fp);}/*函数功能:找工资级别相同的职工名单*/void same(){FILE * fp;static int t=0;/*定义一个静态变量*/int i,j,k,m,a,l;struct teacher temp[N];/*定义一个结构体数组存放工资级别相同的职工名单*/if((fp=fopen("c:\\file1.dat","ab+"))==NULL)/*以读写方式打开一个文本文件并判断能否打开*/{printf("can not open this file\n");exit(0);}printf("姓名\t性别\t生日:年月\t年龄\t婚否\t地址\t职称\t工资\n");for(n=0;(fread(&teac[n],sizeof(struct teacher),1,fp)==1);n++)/*将职工信息读入内存*/{printf("%s\t%s\t %d %d\t%d\t%s\t%s\t%s\t%f\n",teac[n].name,teac[n ].sex,teac[n].year,teac[n].mounth,teac[n].age,teac[n].marrige,teac[n].addr, teac[n].engineer,teac[n].wage);/*将职工信息输出到屏幕上*/continue;}/*找相同*/for(i=0;i<n;i++){m=t;a=0;if(i>0)for(l=0;l<t;l++){if(teac[i].wage==temp[l].wage)a++;}if(a>0)continue;/*说明该数已在上一级比较中存入temp数组中了不需再比结束本次循环*/elsefor(j=i;j<n;j++){if(teac[i].wage==teac[j].wage)temp[t++]=teac[j];}printf("\n工资级别为%f的名单为:\t",temp[t-1].wage);for(k=m;k<t;k++)printf("%s\t",temp[k].name);}fclose(fp);}/*函数功能:删除不需要的职工信息*/void reviwe()/*删除函数*/{FILE*fp;struct teacher temp;int i,j,k=0;char name[20];char ch[2];int a;if((fp=fopen("c:\\file1.dat","rb"))==NULL)/*判断文件能否打开*/ {printf("can not open this file\n");exit(0);}for(n=0;(fread(&teac[n],sizeof(structteacher),1,fp)==1);n++)continue;/*将职工信息读入内存*/fclose(fp);if(n==0)printf("没有记录\n");elseprintf("请输入姓名\n");scanf("%s",name);for(i=0;i<n;i++){if(strcmp(name,teac[i].name)==0)/*找与要修改的信息相同的姓名*/{printf("该职工信息为:\n");printf("%s\t%s\t%d\t %d %d\t%s\t%s\t%s\t%f\n",teac[i].name,teac[i ].sex,teac[i].year,teac[i].mounth,teac[i].age,teac[i].marrige,teac[i].addr,tea c[i].engineer,teac[i].wage);}break;}printf("是否删除?(y/n)");scanf("%s",ch);if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)/*判断是否删除*/{printf("已成功删除信息\n\n");for(j=i;j<n;j++){strcpy(teac[j].addr,teac[j+1].addr);strcpy(teac[j].engineer,teac[j+1].engineer);strcpy(teac[j].marrige,teac[j+1].marrige);strcpy(teac[j].name,teac[j+1].name);strcpy(teac[j].sex,teac[j+1].sex);teac[j].age=teac[j+1].age;teac[j].year=teac[j+1].year;teac[j].mounth=teac[j+1].mounth;break;}if((fp=fopen("c:\\file1.dat","wb"))==NULL)/*判断文件能否打开*/ {printf("can not open this file\n");exit(0);}for(j=0;j<n-1;j++)fwrite(&teac[j],sizeof(struct teacher),1,fp);/*信息写入磁盘*/fclose(fp);}}/*函数功能:查询*/void find(){FILE*fp;int i;char name[20];char ch[2];if((fp=fopen("c:\\file1.dat","ab+"))==NULL)/*判断文件能否打开*/ {printf("can not open this file\n");exit(0);}for(n=0;(fread(&teac[n],sizeof(struct teacher),1,fp)==1);n++)continue;/*将职工信息读入内存*/fclose(fp);if(n==0)printf("没有记录\n");elseprintf("是否查询?(y/n)");while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0){printf("请输入姓名\n");scanf("%s",name);for(i=0;i<n;i++){if(strcmp(name,teac[i].name)==0)/*找与要修改的信息相同的姓名*/{printf("你要查询的职工信息如下:\n");printf("%s\t%s\t%d\t %d %d\t%s\t%s\t%s\t%f\n",teac[i].name,teac[i ].sex,teac[i].year,teac[i].mounth,teac[i].age,teac[i].marrige,teac[i].addr,tea c[i].engineer,teac[i].wage);break;}}if(i==n)printf("没有你需要查询的信息\n");printf("是否继续查询?(y/n)");}}/*函数功能:输出数据*/void print(){int i;printf("\n姓名\t性别\t生日:年月\t年龄\t婚否\t地址\t职称\t工资\n");for(i=0;i<n;i++)printf("%s\t%s\t%d\t %d %d\t%s\t%s\t%s\t%f\n",teac[i].name,teac[i ].sex,teac[i].year,teac[i].mounth,teac[i].age,teac[i].marrige,teac[i].addr,tea c[i].engineer,teac[i].wage);}。
高校工资管理系统C++源码
cout<<"☆添加成功,数据已保存"<<endl;
}break;
case 3:{
cout<<"输入行政补贴:";cin>>b;
cout<<"总工资:"<<b+jbgz<<endl;
admin temp(true,xm,bh,jbgz,b);
if(ofile.fail())throw("打开文件失败!");
ofile.close();
}
else ifile.close();
fstream file;
file.open("data.txt",ios::in|ios::out|ios::binary);
int a,b,h,sign,bh;char xm[20];double jbgz,ksf,z;
}break;
case 4:{
cout<<"输入上学期课时工作量:";cin>>b;
cout<<"输入上学期实验工作量:";cin>>h;
ksf=(b-120)*20;
z=(b-70)*20;
cout<<"课时费:"<<ksf<<endl;
cout<<"实验室补助:"<<z<<endl;
#include<iostream>
c工资管理系统课程设计
c工资管理系统课程设计一、课程目标知识目标:1. 让学生理解工资管理系统的基本概念、功能模块及其在实际企业中的应用。
2. 掌握工资管理系统中工资计算、税费扣除、工资发放等基本流程。
3. 学会运用数据库技术进行工资数据的存储、查询和更新。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的工资管理系统的能力。
2. 提高学生分析实际问题时运用工资管理系统进行数据处理的技能。
3. 培养学生团队协作、沟通表达的能力。
情感态度价值观目标:1. 激发学生对信息技术在企业中的应用产生兴趣,提高其学习积极性。
2. 培养学生具备良好的信息素养,认识到信息安全、保护隐私的重要性。
3. 增强学生对于企业人力资源管理的认识,提高其职业素养。
课程性质分析:本课程为信息技术与学科整合的实践性课程,旨在让学生将所学知识应用于实际问题的解决,提高其信息技术素养。
学生特点分析:学生为高年级学生,具备一定的信息技术基础,具有较强的学习能力和实践操作能力。
教学要求:1. 结合实际案例,引导学生运用所学知识分析、解决工资管理系统相关问题。
2. 创设情境,鼓励学生进行自主学习、协作探究,培养学生的创新精神和实践能力。
3. 注重过程评价,关注学生的学习成果,提高教学质量。
二、教学内容1. 工资管理系统概述- 了解工资管理系统的定义、作用及其在企业中的应用。
- 分析工资管理系统的主要功能模块。
2. 工资管理系统的基本流程- 学习工资计算、税费扣除、工资发放等基本流程。
- 掌握工资管理系统中涉及的算法和业务规则。
3. 数据库技术在工资管理系统中的应用- 学习数据库的基本概念、设计方法及其在工资管理系统中的作用。
- 掌握工资管理系统中数据库的建立、查询、更新等操作。
4. 工资管理系统的设计与实现- 学习系统分析与设计的基本方法,明确工资管理系统的需求。
- 掌握运用编程语言和数据库技术实现工资管理系统功能。
5. 案例分析与实战演练- 分析典型工资管理系统案例,了解实际应用中的解决方案。
C人事工资管理系统实验报告
C人事工资管理系统实验报告C人事工资管理系统实验报告1. 介绍C人事工资管理系统是一款基于C语言开发的人事工资管理软件。
该软件可以通过输入员工信息、职位信息和工资信息来实现员工工资的管理。
本次实验的目的是通过对C人事工资管理系统的使用,掌握C语言的基本操作和编程思想。
2. 实验环境本次实验的环境为Windows操作系统,使用Mingw-w64作为编译器。
在软件开发过程中,使用了C语言的基本语法和部分函数库,并通过Makefile文件进行编译,得到可执行文件。
3. 功能介绍C人事工资管理系统可以实现以下功能:(1)添加员工信息:通过输入员工的姓名、性别、部门、职位等基本信息,将员工信息存储到文件中。
(2)修改员工信息:可以修改员工的基本信息以及工资等信息。
(3)删除员工信息:根据员工的工号删除员工信息。
(4)查询员工信息:可以根据员工的工号或姓名等信息查询员工的基本信息以及工资等信息。
(5)计算员工工资:根据员工的基本工资、职位工资、绩效工资等信息计算员工的工资。
(6)数据报表统计:根据员工的职位、部门等信息实现数据的报表统计和导出。
4. 实验过程(1)编写员工信息结构体和读写文件函数员工信息包括姓名、性别、工号、职位、部门、基本工资、职位工资、绩效工资等信息。
使用结构体来定义员工信息,并编写读写文件函数来实现员工信息的存储和读取。
(2)实现员工信息的增删改查功能使用链表来存储员工信息,并编写添加、删除、修改和查询员工信息的函数来实现员工信息的管理。
(3)实现员工工资计算功能根据员工的基本工资、职位工资和绩效工资等因素计算员工的工资,并将计算结果存储在员工信息中。
(4)实现数据报表统计功能根据员工的职位、部门和工资等信息实现数据的报表统计和导出。
5. 实验结果通过本次实验,我们成功开发了C人事工资管理系统。
该系统具有实现员工信息管理、工资计算和报表统计等功能,可以方便地帮助企业和机构实现人事工资管理任务。
c语言课程设计工资管理系统
c语言课程设计工资管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程基础,能够运用C语言设计并实现一个简单的工资管理系统。
具体目标如下:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,理解面向过程的编程思想。
2.技能目标:学生能够运用C语言编写程序,解决实际问题。
通过设计并实现工资管理系统,学生将学会如何代码、使用数据结构、编写主函数等。
3.情感态度价值观目标:培养学生对计算机编程的兴趣,提高学生解决问题的能力,培养学生的创新精神和团队合作意识。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,以及面向过程的编程思想。
具体安排如下:1.第一部分:C语言基础知识。
包括C语言的基本语法、数据类型、运算符、控制结构等。
这部分内容将帮助学生掌握C语言的基本编程能力。
2.第二部分:函数和面向过程编程。
包括函数的定义和调用、函数指针、数组和字符串等。
这部分内容将帮助学生掌握函数编程的方法,培养学生面向过程的编程思想。
3.第三部分:工资管理系统的设计与实现。
包括系统需求分析、系统设计、代码编写和调试等。
这部分内容将帮助学生将所学知识应用于实际问题,提高学生的编程能力和解决问题的能力。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:教师讲解C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,使学生掌握C语言的基本编程能力。
2.案例分析法:通过分析实际案例,让学生了解并掌握函数编程的方法,培养学生面向过程的编程思想。
3.实验法:学生在实验室进行编程实践,设计和实现工资管理系统,提高学生的编程能力和解决问题的能力。
4.小组讨论法:学生分组进行讨论,共同解决问题,培养学生的团队合作意识和创新精神。
四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料和实验设备等。
具体如下:1.教材:选用《C程序设计语言》等权威教材,为学生提供系统、科学的学习材料。
C课程设计《工资管理系统》
C 课程设计《工资管理系统》一、教学目标本课程的教学目标是使学生掌握工资管理系统的核心概念、设计和实现方法。
通过本课程的学习,学生应能够理解工资管理的基本流程,熟悉工资管理系统的关键组成部分,如员工信息管理、工资计算、税款扣除等,并能够运用面向对象的设计方法,独立设计和实现一个简单的工资管理系统。
具体来说,知识目标包括:掌握工资管理的基本概念和流程;了解工资管理系统的主要组成部分及其功能;熟悉面向对象的设计方法和原则。
技能目标包括:能够使用面向对象的语言进行编程;能够根据实际需求设计和实现一个简单的工资管理系统。
情感态度价值观目标包括:培养学生的团队协作意识,使其能够积极参与团队项目;培养学生的问题解决能力,使其能够通过分析和设计解决实际问题。
二、教学内容本课程的教学内容主要包括工资管理系统的核心概念、设计和实现方法。
具体包括以下几个部分:1.工资管理的基本概念和流程:介绍工资管理的基本概念,如工资、奖金、扣款等,以及工资管理的基本流程,如员工信息管理、工资计算、税款扣除等。
2.工资管理系统的主要组成部分及其功能:介绍工资管理系统的主要组成部分,如员工信息管理模块、工资计算模块、税款扣除模块等,以及各部分的功能和作用。
3.面向对象的设计方法:介绍面向对象的设计方法,包括类的设计、对象的创建和使用、继承和多态等概念和方法。
4.工资管理系统的实现:通过实际案例,引导学生运用面向对象的设计方法,独立设计和实现一个简单的工资管理系统。
三、教学方法为了达到本课程的教学目标,我们将采用多种教学方法,如讲授法、案例分析法、实验法等。
具体来说:1.讲授法:通过讲解工资管理的基本概念、流程和面向对象的设计方法,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生了解工资管理系统的设计和实现过程,提高学生的实际操作能力。
3.实验法:让学生亲自动手设计和实现一个简单的工资管理系统,培养学生的实际编程能力和问题解决能力。
高校工资管理系统
{int c;for(i=0;;i++)
{show();cin>>c;
if(c==5){cout<<"退出录入成功。"<<endl;break;}
else
switch(c)
{case 1: jiaoshiluru(); break;
case 2: houqinluru();break;
{public:
Teacher(int s=1000) //Teacher类,中的成员变量S
{score=s;} //将 s的值赋给score
void display1();
int score;//基本工资
int time;};//月工作量
cout<<"4:教授"<<endl;
cout<<"5:退出录入"<<endl;
cout<<"请选择: ";}
void jiaoshiluru()//教师录入
{ofstream outfile("教师.txt",ios::app);//输出到磁盘ofstream,从磁盘读文件ifstream;写入到磁盘的教师.txt中,写入数据将被追加在文件末尾
outfile.close();}
void houqinluru()//后勤录入
{ofstream outfile("后勤.txt",ios::app);//声明一个输出 ( 写 ) 文件流对象
if(!outfile)
{cerr<<"open error!"<<endl;
C++课程设计(高校工资管理系统)
C++课程设计高校工资管理系统1.系统概述通过设计一个较为简单的《高校工资管理系统》,进一步熟悉C++中类的概念、类的封装、继承的实现方式。
了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
2.总体设计职工类的设计基于C++中类的概念,类的封装,继承和抽象。
编写一个Person的基类包含共有的相关信息和操作,然后使职工类都继承于此基类从而实现多态。
应用类的设计编写一个Person类的友元类College类来实现添加,删除,查找等功能。
文件的读写设计通过College类中的Save()函数来实现数据的存储,保存在中,而通过Load()函数来实现数据的读入。
3.详细设计及系统实现Person类class Person .\n";Load();}析构函数College::~College() 点指针由p1返回,p2为前看指针)int College::Find(int ID,Person **p1,Person **p2){*p1=PL->next;*p2=PL;while(*p1){if((*p1)->No==ID)break; n";}void College::Load() n";}void College::Finding(){cout<<"\t\t****************高校工资管理系统*******************\n\n\n";cout<<"\n\t\t\t\t**查找职工**\n";Person *p1,*p2;int ID;cout<<"编号;";cin>>ID;cout<<"\n\n";p1=PL->next;p2=PL;while(p1){if((p1)->No==ID){cout<<"编号\t姓名\t岗位\t\t其它\t工资\n";(p1)->Output();break;}.\n";getchar();getchar();break;case'2': system("cls");();cout<<"\n\n\t\t按任意键结束...\n";getchar();getchar();break;case'3': system("cls");();cout<<"\n\n\t\t按任意键结束...\n";getchar();getchar();break;case'4': system("cls");();cout<<"\n\n\t\t按任意键结束...\n";getchar();getchar();break;case'5': system("cls");(); cout<<"\n\n\t\t按任意键结束...\n";getchar();getchar();break;case'6': system("cls");(); cout<<"\n\n\t\t按任意键结束...\n";getchar();getchar();break;case'7': system("cls");(); cout<<"\n\n\t\t按任意键结束...\n";getchar();getchar();};}while(ch!='8');}4.系统评价该系统实现了职工的添加,删除,查找,显示,修改,和数据的存盘与装入操作,总体上来说功能比较全面,但仍有一些不足,如界面问题,以及程序中的许多繁琐之处。
C#课件:高校教师工资管理系统
管理员功能模块图
员工功能模块图
开发的技术
❖操作系统:Windows 7或Windows XP ❖运行环境:Visual Studio 2010 ❖后台语言:C# ❖数据库:SQL Server 2008
用户登录界面
管理员查询效果图
员工职务调动效果图
员工信息添加修改效果图
员工账号密码设置效果图
大的差距,还有许多需要改进的地方。本系统的开发设计针对于当前学校职 工工资管理实际需要设计了一些模块供使用,但是在后期系统的不断改善和 优化,还可以开发更多的功能模块来满足其需求。
Thanks!
谢谢各位评审老Leabharlann !❖ 第一,报表在显示数据库中有关日期数据时,日期后面的时间无法删除。 ❖ 第二,员工具体社保项目不会计算,只能用具体数据代替。 ❖ 第三,员工打卡签到需要硬件接口,由于条件有限,只能软件虚拟模仿。 ❖ 第四,系统功能实现不够完善,使用不是很方便。 ❖ 第五,系统设计时,访问数据库次数较多,还需要后期进一步代码优化。 ❖ 当然系统中还存在很多的不足,与目前学校的工资管理系统软件相比还有很
高校工资管理系统的设计与实现
所在院(系): 学生姓名 : 指导教师 :
研究的意义
❖ 学校在岗人员工资核算系统是典型的信息管理系统,其开 发主要包括后台数据库的建立和维护以及前台应用程序的 开发两个方面。对于数据库要求数据一致性和完整性。而 对于前台应用程序则要求功能完备,易使用。本系统把 Microsoft visual studio 2010作为开发工具,以SQL Server 2008为数据库,实现了对员工签到请假、工资自 动核算等相关功能。系统的开发步骤有系统分析、系统设 计和系统实现。在系统的分析中,用数据流图、用例图分 析了系统所需的各种数据。在系统的设计中,详细说明了 系统的各个功能模块和数据库表。在系统的实现中,给出 了系统功能的相应流程图、核心代码和运行界面。该系统 能满足学校员工工资管理方面的基本要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++高校工资管理系统辽宁工业大学《C++语言程序设计》课程设计(论文)题目: 高校工资管理系统院(系): 软件学院专业班级: 软件工程102班学号: 101301052学生姓名: 赵楠指导教师: 翟宝峰教师职称: 副教授起止时间:2010.12.20-2010.12.31课程设计(论文)任务及评语院(系):软件学院教研室:软件教研室学号101301052 学生姓名赵楠专业班级软件工程 102班课程设计(论文)高校工资管理系统题目(1).掌握面向对象程序设计语言C++的基本语法(2).掌握C++面向对象设计的思想(3).掌握VC++6.0与DEV C++ 开发工具的使用(4). 运用标准C++规范设计应用程序课程设设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。
正确地完计)成上述内容,规范完整地撰写出设计报告。
论文)任务指导教师评语及成绩成绩: 指导教师签字:年月日辽宁工业大学课程设计说明书(论文)目录第1章课程设计目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 ........................................................ 1 第2章课程设计内容 (2)2.1 C++语言程序设计------《高校工资管理系统》问题分析。
(2)2.1.1 功能分析 ......................................................22.1.2 算法设计及程序设计中技术重点 ..................................32.2 程序中涉及的类的UML类图和主要函数流程图或框图。
(7)2.3 程序源代码 .......................................................... 9 第3章课程设计总结 (17)19 参考文献 ...................................................................辽宁工业大学课程设计说明书(论文)第1章课程设计目的与要求1.1 课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C++语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
++语言编写调试应用系统程序, (3)利用所学知识,开发小型应用系统,掌握运用C训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握面向对象程序设计的方法。
语言的基本语法,灵活运用各种数据类型。
(6)熟练掌握C++(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。
1.2 课程设计的实验环境硬件要求能运行Windows 操作系统的微机系统。
C++语言应用程序开发软件使用:VC++ 系统,或其他C++语言应用程序开发软件。
1.3 课程设计的预备知识熟悉C++语言程序设计的基本知识及VC++编辑器的使用方法。
1.4 课程设计要求1. 仔细分析设计题目,画出程序流程图,编写程序源代码。
2. 积极上机调试源程序,增强编程技巧与调程能力。
3. 认真书写课程设计预习报告,课程设计说明书。
4. 遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计内容1辽宁工业大学课程设计说明书(论文)第2章课程设计内容2.1 C++语言程序设计------《高校工资管理系统》问题分析这个高校工资管理系统的主要功能是为学校的教职工提供工资查询及银行转帐服务,方便学校财务处工作,提高财务处的服务质量和服务效率。
教职工的个人信息必须经由各部门及人事初及时汇总到财务处,教务处结合后勤部门提供的的有关教职工水电费及个人所得税提交银行,并把信息及时反馈给教职工所在部门方便教职工的查询,最后教职工可以方便、快捷的到银行提取工资或办理各项银行业务。
财务处的服务器的管理员享有对教职工工资信息库银行帐户库的管理与修改。
人事初只享有对教职工个人信息信息库的部分修改(写入与读出)。
系统实现后,提高学校财务处的服务效率。
降低工资发放过程中的错误发生率,减少信息交流的烦琐过程及其带来的开销,最大限度的方便学校教职工。
2.1.1 功能分析问题的描述(功能要求):高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。
为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。
同时注意生成的相关数据结果以文件方式存放在硬盘中。
程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现),若有职工由于工作调动,则可进行相对应的调整动作。
相关信息:每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下:教师:基本工资+课时费;实验员:基本工资+实验室补助;行政人员:基本工资+行政补贴;教师兼职实验员:基本工资+课时费+实验室补助;行政人员兼职教师:基本工资+行政补贴+课时费;1.课时费:教师每一学期的基本工作量为120,实验员每学期基本工作量为70,行政人员没有基本工作量,每节课时费为20元;课时费=(上学期工作量-基本工作量)*20;注意:如果上学期基本工作量没完成,则其(上学期工作量-基本工作量)*20为负值。
2辽宁工业大学课程设计说明书(论文)2.基本工资:教师800元,实验员650元,行政人员750元。
3.行政补贴:250元。
2.1.2 算法设计及程序设计中技术重点一、主要知识点:本程序共有三个文件组成,分别是Salary.h, Salary.cpp和main.cpp; Salary.h中定义了程序所需的类,全局函数,以及要用到的标准头文件。
用到的知识主要有类的继承与派生,纯虚函数,头文件的组织,链表操作,程序菜单选择和处理函数的组织和编写,文件的读写操作。
二、关键技术:程序中每一种数据类型用一个类来实现,共设计了6个类。
人员类 Person,教师类Teacher,实验员类Assistant,行政人员类 Manager,教师兼实验员类Teacher_Manager,行政人员兼教师类Manager_Teacher以及工资信息管理类Salary_Management。
每一种类都定义了相应的成员函数。
具体定义如下所示:1、类Person类Person为抽象类,为另外五个类的基类,在类Person中,成员变量ID表示职工编号,name表示职工姓名,duty表示岗位类别,salary表示职工工资以及next表示Person类的指针域。
两个input()成员函数,无参成员函数input()为纯虚函数用来从键盘输入职工数据,有参成员函数input(ifstream& infile)用来从文件读入职工数据;两个output()成员函数,无参成员函数output()用来向屏幕输出职工信息,有参成员函数output(ofstream&outfile)向指定文件Salary.txt中输出职工信息以及成员函数incoming()用来计算职工工资。
类中还将将Salary_Management类声明为友员类,将Work_type(int duty)函数声明为友元函数,用来将职工类别标志转换为相应的类别名称,以便显示职工岗位类别名称。
2、类Teacher类Teacher中,在继承基类数据成员的基础上增加了成员变量hours用来存放教师的上课课时数,并重新定义了成员函数input()和output()分别用来输入和输出职工信息,incoming()用来计算教师类的人员工资。
3、类Assistant类Assistant中,,在继承基类数据成员的基础上增加了成员变量hours用来存放教师3辽宁工业大学课程设计说明书(论文) 的上课课时数和Allowance用来存放试验室补助,并重新定义了成员函数input()和output()分别用来输入和输出职工信息,incoming()用来计算教师类的人员工资。
4、类Manager类Manager中,在继承基类数据成员的基础上增加了成员变量Allowance用来存放行政补贴,并重新定义了成员函数input()和output()分别用来输入和输出职工信息,incoming()用来计算教师类的人员工资。
5、类Teacher_Assistant类Teacher_Assistant以Teacher类和Assistant类为直接基类,重新定义了成员函数input()和output()分别用来输入和输出职工信息,incoming()用来计算教师类的人员工资。
6、类Manager_Teacher类Manager_Teacher以Teacher类和Assistant类为直接基类,重新定义了成员函数input()和output()分别用来输入和输出职工信息,incoming()用来计算教师类的人员工资。
7、类Salary_Management类Salary_Management用来为管理职工信息提供相关功能函数,有私有数据成员PL是链表的头指针,私有成员函数clear清除所有职工结点,私有成员函数QueryRec用来查询职工记录。
共有成员函数AddRec用来增加职工记录,DelRec用来删除职工记录,Modify用来修改职工记录,display用来显示职工记录,Save 用来保存职工信息,FindRecID按职工编号查找职工记录,FindRecName按职工姓名查找职工记录,Load用来从键盘录入职工信息,Build用来从文件读取职工信息,Statistics提供职工信息统计功能,可以实现分别按职工类别、职工工资、要发工资总数、职工人数的统计功能,MenuSelect菜单功能选择函数,显示程序主功能菜单并接收用户的选择,返回用户选择提供给Handle_menu函数,Handle_menu菜单处理函数,用来处理用户的功能选择,并调用相应的功能函数实现用户所要求实现的功能。
8、全局函数duty_to_string函数用来将岗位类别标识转换为相应的名称。