ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:790.89KB ,
资源ID:24099043      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24099043.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++课程设计高校职工工资管理系统.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++课程设计高校职工工资管理系统.docx

1、C+课程设计 高校职工工资管理系统课 程 设 计 报 告课程名称 面向对象程序设计 课题名称 高校工资管理系统 专 业 通信工程 班 级 1302 学 号 * 姓 名 王树材 指导教师 乔汇东 胡瑛 2015年 1月 3日湖南工程学院课 程 设 计 任 务 书课程名称 面向对象程序设计 课 题 高校工资管理系统 专业班级 通信1302 学生姓名 王树材 学 号 * 指导老师 乔汇东、胡瑛、黄哲 审 批 任务书下达日期 2014年 12月 26日任务完成日期 2015 年 1 月 3日一、设计内容与设计要求1.课程设计目的:面向对象程序设计课程设计是集中实践性环节之一,是学习完面向对象程序设计课

2、程后进行的一次全面的综合练习。要求学生达到熟练掌握C+语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。2.课题题目公司考勤管理系统高校学籍管理系统高校工资管理系统高校人事管理系统文件加密管理系统3设计要求:设计课题题目:第5个课题是扩展课题,有能力完成的同学可以选择。其余每位同学根据自己学号除以4所得的余数加一选择相应题号的课题。换题者不记成绩。根据自己对应的课题完成以下主要工作:完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。完成系统总体设计:包

3、括系统功能分析;系统功能模块划分与设计(系统功能模块图)。完成系统详细设计:包括数据库需求分析;类层次图;界面设计与各功能模块实现。系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。关键源程序(带注释)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。二、进度安排第 周 星期 时:分时:分 星期 时:分时:分 星期 时:分时:分 星期 时:分时:分课题3:高校工资管理系统 (一)、课程设计题目:高校工资管理系统(二)、

4、目的与要求: 1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理: 1、问题描述(功能要求

5、): 现一高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现),如若有职工由于工作调动,则可进行相对应的删除动作。相关信息:每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下:其中工资的基本构成如下: 教师: 基本工资+课时费; 实验员: 基本工资+实验室补助; 行政人员: 基本工资+行政

6、补贴; 教师兼职实验员: 基本工资+课时费+实验室补助; 行政人员兼职教师:基本工资+行政补贴+课时费;其中课时费计算:教师每一学期的基本工作量为120,教师兼职实验员每学期基本工作量为70,行政人员没有基本工作量,若每节课时费为20元;课时费=(上学期工作量-基本工作量)*20; 注意:如果上学期基本工作量没完成,则其(上学期工作量-基本工作量)*20为负值。2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)写出需求分析(做什么);(2)分析系统中的各个实体之间的关系及其属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和

7、方法); (5)完成类中各个成员函数的定义; (6)用户界面的设计; (7)分析系统功能模块(系统流程图);(8)代码编写 ,功能调试;(9)完成系统总结报告以及系统使用说明书。1.系统需求分析我的课题为高校职工工资管理系统,随着高等学校教学实验行政管理的分工不同而实行的不同的工资分配方式,为对工资发放实现智能化管理,特设计此系统来实现。本系统可以对职工的信息(工号,名字,基本工资,课时,实验补助,行政补助等)进行录入,显示,查找修改,删除,保存和读取,可以根据工号和名字来查找相对应的职工信息,并实现拓展功能,即根据查找进行修改功能,如果职工进行调动,则可根据工号或名字进行删除,录入的相关数据

8、以文件的方式存放在硬盘上,可以继续录入和读取。2.总体设计该程序采用类,继承,多态和文件来处理职工所有信息,具体如下:包含的库函数有:#include iostream是输入输出流头文件;#include fstream是文件流头文件;包含的类有:class employee(员工) class teacher (教师) class shiyanyuan (实验员) class xingzhengrenyuan(行政人员) class tshiyanyuan (教师兼职实验员) class xteacher(行政人员兼职教师包含的函数有:主函数 int main()运行函数 void run(

9、)录入函数 void luru()寻找函数 int search(int number,int &i) int search(char *name1,int &i)显示函数 void display()查找与修改函数 void change()删除函数 void shanchu()文件读取和保存函数 void fileload() void filesave() 系统功能模块图3.详细设计(1)class employee(员工) 基类 包含工号num,名字name,基本工资信息salay等基本信息,同时带有virtual void set(int n) n用来接收每一次调用此函数时总人数自加

10、前的值,然后赋给此对象的工号。virtual void save(fstream &f) &f此处为引用,将对此f的操作和在外对f操作保存一致性。virtual void load(fstream &f)&f此处也为引用,将对此f的操作和在外对f操作保存一致性。virtual 的使用方便于子类的相关函数的使用,此为多态带给程序的方便之处。(2)class teacher (教师) 子类 继承employee类 增有属性 课时。继承基类的属性,并且有自己的函数对课时等的输入和保存。(3)class shiyanyuan (实验员) 子类 继承employee类 增有属性 实验补助。继承基类的属性

11、,并且有自己的函数对实验补助等的输入和保存。(4)class xingzhengrenyuan(行政人员) 子类 继承employee类 增有属性 行政补助。继承基类的属性,并且有自己的函数对行政补助等的输入和保存。(5)class tshiyanyuan (教师兼职实验员)子类 继承employee类 增有属性 课时和实验补助。继承基类的属性,并且有自己的函数对课时和实验补助等的输入和保存。(6)class xteacher(行政人员兼职教师子类 继承employee类 增有属性 课时和行政补助。继承基类的属性,并且有自己的函数对课时和行政补助等的输入和保存。包含的函数有:1.主函数int

12、main()进入主函数后首先打开fileload()函数,将以前保存好的数据读取出来,若以前未保存数据则读取全部为初始值。然后运行run()函数进入系统,进行信息录入,显示,查询修改,删除等的操作。返回值:无2.运行函数void run()显示一个主菜单界面,可根据提示选择相应的功能代码,然后用一个switch语句根据输入的代码调用对应的功能函数。返回值:无流程如下: switch(c) 1 2 3 4 5 6 3.录入函数 void luru()根据不同的功能代码调用不同类里面的set()函数,以达到对这五类职工的录入。返回值:无流程如下: switch(c) 1 2 3 4 5 6 4.寻

13、找函数(两个,运用函数重载分别实现按工号和名字寻找功能)int search(int number,int &i) int search(char *name1,int &i)形参number,name为要查找的工号和名字,int &i,此处用到了引用,将在另一个函数的i与在此i进行等同,方便于在外函数中也能读出在此寻找函数中找着的数据。根据search()不同的返回值来判断找到的数据的对象属于哪种职工。返回值:0,1,2,3,4,5返回0则表示没找着任何数据符合寻找条件,返回1则说明在教师中找着符合寻找条件的数据,返回2则说明在实验员中找着符合寻找条件的数据,返回3则说明在行政人员中找着符合

14、寻找条件的数据,返回4则说明在教师兼实验员中找着符合寻找条件的数据,返回5则说明在行政人员兼教师中找着符合寻找条件的数据。流程如下: N Y5.显示函数 void display()在程序中用t1,s1,x1,ts1,xt1来记录教师,实验员,行政人员,教师兼实验员,行政人员兼教师的五个类对象各自的总数,用switch()来确定输出显示的对象的类型,在显示函数中分别用for循环来输出每种类的对象,输出显示用调用每个对象的show()函数来实现。返回值:无流程如下: switch(c) 1 2 3 4 5 Y N6.查找与修改函数 void change()查找可根据工号和名字进行查找,首先选择

15、查询方式,然后输入查询方式所要求的内容,然后根据内容分别调用重载寻找函数,找着后进行显示,提示是否修改,如需修改则重新调用一次此对象的set()函数一次,则可重新输入新的数据。返回值:无流程如下: Y N7.删除函数 void shanchu()首先输入要删除的工号或名字,找着后进行显示确认,删除方式采用让要删除的编号的后面的收据前移一个位置使要删除的编号被前一个数据所覆盖,之后的数据对前一个进行覆盖则达到删除要求。返回值:无流程如下: Y N8.文件读取和保存函数 void fileload() void filesave()保存时用到ios:out若文件为空则创建文件,若文件不为空则覆盖,

16、读取时用到ios:in从第一个数据开始读取,不能改变数据,返回值:无 4.系统调试信息录入时,系统根据录入的数据进行处理,安照不同的工资分配方案计算出总工资并显示出来,所以总工资是不需要输入的。教师录入实验员录入行政人员录入教师兼实验员录入行政人员兼教师录入教师 实验员 行政人员 教师实验员 行政人员兼教师的显示:根据工号和名字进行查找与修改根据工号查找进行修改修改结果根据名字进行查找进行修改修改结果显示删除功能根据工号进行删除删除结果根据名字进行删除删除结果进行一系列操作后内存保存数据显示5.结果分析独到之处:工号不用手动输入,自动根据录入的对象生成,能够在一个文件里面存放不同类的数据,并能

17、一一对号读取出来,删除模块采用后者覆盖前者的方法用得恰当。不足之处:还是定义一个数组来存放对象,没能用链表进行编程。编程水平有待提高。6.总结在这次课程设计中我编写了两个程序,这是第二个,第一个因为不能使编号唯一而放弃,在老师指导下终于知道怎样让编号不会重复,然后在这个程序里集合了第一个程序里的优点,再加以改善,使得这个程序更加简洁实用,在编写的过程中,虽然遇到了各种各样的问题,但我都一一化解,把一个个错误解决后心情都是非常畅快的,通过这次课程设计,让我真正地把学到的知识应用于实践,从而使得自己对知识的掌握程度得以加深加固,另外也增强了自己的逻辑思维能力,在写程序的过程中,通过解决一个个小问题

18、使得自己对C+这门课程的兴趣得以大大的加强,因为我发现C+其实非常有趣。总而言之,这次课程设计使我受益匪浅,同时也非常感谢老师的耐心细致的解疑。源代码:#include #include using namespace std; class employeepublic: int num; char name10; int salay; virtual void show() cout编号:numendl; cout姓名:nameendl; cout基本工资:salayendl; virtual void set(int n) num=n; cout请输入姓名:name; cout请输入基本工

19、资:salay; virtual void save(fstream &f) fnum name salaynumnamesalay; ;class teacher:public employeepublic: int less; void show() if(num!=0) employee:show(); cout课时:lessendl; cout总工资=n基本工资+(课时-120)*20=salay+(less-120)*20endlendl; void set(int n) employee:set(n); cout请输入课时less; cout总工资=n基本工资+(课时-120)*2

20、0=salay+(less-120)*20endlendl; void save(fstream &f) employee:save(f); flessless; ;class shiyanyuan:public employeepublic: int buzhu; void show() if(num!=0) employee:show(); cout实验室补助:buzhuendl; cout总工资=n基本工资+实验室补助=salay+buzhuendlendl; void set(int n) employee:set(n); cout请输入实验室补助:buzhu; cout总工资=n基本

21、工资+实验室补助=salay+buzhuendlendl; void save(fstream &f) employee:save(f); fbuzhubuzhu; ;class xingzhengrenyuan:public employeepublic: int buzhu; void show() if(num!=0) employee:show(); cout行政补助:buzhuendl; cout总工资=n基本工资+行政补助=salay+buzhuendlendl; void set(int n) employee:set(n); cout请输入行政补助:buzhu; cout总工资

22、=n基本工资+行政补助=salay+buzhuendlendl; void save(fstream &f) employee:save(f); fbuzhubuzhu; ;class tshiyanyuan:public employeepublic: int buzhu; int less; void show() if(num!=0) employee:show(); cout课时:lessendl; cout实验室补助:buzhuendl; cout总工资=n基本工资+(课时-120)*20+实验室补助=salay+(less-120)*20+buzhuendlendl; void s

23、et(int n) employee:set(n); cout请输入课时:less; cout请输入实验室补助:buzhu; cout总工资=n基本工资+(课时-120)*20+实验室补助=salay+(less-120)*20+buzhuendlendl; void save(fstream &f) employee:save(f); fless buzhulessbuzhu; ;class xteacher:public employeepublic: int buzhu; int less; void show() if(num!=0) employee:show(); cout课时:l

24、essendl; cout行政补助:buzhuendl; cout总工资=n基本工资+(课时-120)*20+行政补助=salay+(less-120)*20+buzhuendlendl; void set(int n) employee:set(n); cout请输入课时:less; cout请输入行政补贴:buzhu; cout总工资=n基本工资+(课时-120)*20+行政补助=salay+(less-120)*20+buzhuendlendl; void save(fstream &f) employee:save(f); fless buzhulessbuzhu; ;teacher

25、t100;shiyanyuan s100;xingzhengrenyuan x100; tshiyanyuan ts100;xteacher xt100;void filesave();void run();void fileload();int t1=0,s1=0,x1=0,ts1=0,xt1=0,num=1;/*查询*int search(int number,int &i) for(i=0;it1;i+) if(ti.num=number) return 1; for(i=0;is1;i+) if(si.num=number) return 2; for(i=0;ix1;i+) if(xi.num=number) return 3; for(i=0;its1;i+) if(tsi.num=number) return 4; for(i=0;ixt1;i+) if(xti.num=number) return 5; return 0;int search(char *name1,int &i) for(i=0;it1;i+) if(strcmp(ti.name,name1)=0) return 1; for(i=0;is1;i+) if(strcmp(si.name,name1)=0) return 2; for(i=0;ix1;i+) if(strcmp

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1