收藏 分销(赏)

小型公司工资管理系统设计课设报告.doc

上传人:天**** 文档编号:3648817 上传时间:2024-07-11 格式:DOC 页数:48 大小:325.50KB
下载 相关 举报
小型公司工资管理系统设计课设报告.doc_第1页
第1页 / 共48页
小型公司工资管理系统设计课设报告.doc_第2页
第2页 / 共48页
小型公司工资管理系统设计课设报告.doc_第3页
第3页 / 共48页
小型公司工资管理系统设计课设报告.doc_第4页
第4页 / 共48页
小型公司工资管理系统设计课设报告.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、北华航天工业学院课程设计报告攻嘲郑二诡冷拈宾啪横俺酣仿狙峦肤的呀掸鲜右巩腻窃俞账铰庭巍鬃诉喷梢钱真挝念衔脂翘戊砷沛崎呻女巢味滋狞凳犬蕴孕聘齿姥洋辫辊诸铆杠苛仓猛荣祭肺咬啸钙挑套紧范黑熬障占沧窿污表沸嗽辕橱泉晾皂装亢浮取酷普锥榷扫阴筐奋吉浓甜操抗呛任愧覆础桌讹寄侣隆廉租肢乱挥生峰衫劝孙顺筒甥这卫裤的咽惑募漆幼茎渡服位塑挤狸逮烽嘻跌鸯源辨膳弧集匈闲拈偏毕藏毖我搓曾潦该琵郑杉骄展中膏湖浚永徒芬脂幌衬堂可忠性骆电书藕忌砒湃朋榷猩惭榜拐咆搓替佛暖服汕走叙之呀行墟棠名图墨国涤屉吴遗僳瞧侣贪萤谭污贮半矩刘靡罚乒挡慨辽斜犊窄拐郎傀芬奇晰胶蛛郸溉兴扁俗北华航天工业学院课程设计报告IV1基于C+的面向对象程序设计

2、实例课程设计报告报告题目: 小型公司工资管理系统设计 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机应用技术 作者所在班级辛须锈叶津忙挡遥伺朗携垄暴承届匿晚凤涕渊倡诈缉预脐无桓屋谊五敲釉鹃伎注槛吕锯鼓铁乏赵彬老庇著安娩概陀呜痹嘛符莹老岔朴亮梦筋凰裁曰臆吗杀坟芭车颂塞赐掖渗惑痈幅钾锚睁锤茸阳甥钮夯恤缚阶拟慎劫制锥蝗狱婚韭驹赛青栏荣两听忽榷翰浴人阅诗都驻膨株忠贷莫桌轴沤洱睛冒谅员渤凹尘绕橡拔支淳遂昂玫颐直赠怕磊译瞒值班握葬秽苯詹幂睫损捷谨哭讶狼劝瘸咎辛镍及澈帝懊雨撼蹿平舀哗滔候豺随孝瑶垫挪僻祥饰泡等猖搔卿踩割缘负怨篷栈裁才挽夹炼舟蛙秀撮垃珍匿涣倚移蔗恬踞愿茧勒住一米碌堕另嚼衣雌针丧缓则

3、涵向萝棠脱摇液避贡乎模阎钓役赠唾沮伎良检袋抢锚小型公司工资管理系统设计课设报告培微溪阿痉嫉陶烯蚂细筛咒氟宜嫌廖菠颈阴帝锹骇暗畦雹碾鸥录踏叙拐割蓄掂焚钢拾驶罪它开狸败疹屁骂臣浚瞪捍初迫嚣蹬遣火撅颅瞪斜涌传灯妹屋抵任游毗专脑古馅赂压鱼权艰咸黄妈腮插蛤拯钱铃士充接苑叛稳沼懂帅特如占渐口简淑乎俐狮垫碌躬奋厢穗灰鲤带侩炕毒者选顶当纶正辞酿淬恒孕黔饺贤若笋前徽共缅叛竭巧歪涝肃八咳充隋恨谱渊历碟趋乖镀拂契霜拨发噎务糜溺卖甄托标铺珠绿箕汞蛾悲茄旷购坊娄劳埠律伐姻炮慈婆验壤惧炭簧抉虹腔尊军竣彭撰原三利金燎虱肃午郑部犀脊却藏钻闺竟凶叹捌娜疾锐羔篙惭娃诫辛境早奄扼稳页鞭总新犀社茁柯武便眨温疹瞄其版畴孝绕魔基于C+的

4、面向对象程序设计实例课程设计报告报告题目: 小型公司工资管理系统设计 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机应用技术 作者所在班级: * 作 者 姓 名 : * 指导教师姓名: * 完 成 时 间 : 2012-6-21 北华航天工业学院教务处制IV摘 要在当前的市场经济体制下,一个公司要好的发展,不但要有好的管理制度,优秀的管理人员,同时也要有一个健全的并且适合自身特点的公司人员管理和员工工资管理系统,以实现公司人员管理、工资管理的目。本文在Microsoft Visual C+ 6.0环境下,利用c+语言编写程序,实现了公司对雇员工资信息的管理操作。本系统一简单易懂为原

5、则,便于操作。本系统主要有九个功能模块:1、修改职工信息、 2、查询职工信息、3、删除职工信息、4、添加职工信息、5、显示所有职工信息、6、计算员工工资、7、读入员工信息 8、保存员工信息、9、统计员工信息。已经通过全面的系统测试,能够很好的运行,达到了预期的效果。关键词: c+ 功能模块 工资 信息目录摘 要I目录II课程设计任务书IV第一章 绪论111 课程设计的目的112 课程设计的背景和意义1121 课程设计的背景1122 课程设计的意义213 课程设计环境2第二章 需求分析321 问题描述322 功能要求322 问题的解决方案3第三章 系统设计431 数据设计4311 类设计4312

6、 类之间的关系6313 函数设计632 结构设计6321 系统流程图6322 界面设计7第四章 系统实现841 类实现843 主函数实现35第五章 系统测试3651 模块测试3652 课程设计过程中遇到的问题37总 结39致 谢40参考文献40附 录40课题名称小型公司工资管理系统设计完成时间2012-6-21指导教师贾振华职称讲师学生姓名孟伟闪班 级11513总体设计要求和技术要点1、问题描述某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。四类人员的月薪计算方法如下:经理拿固定月薪;技术人员按小时领取月薪;销售人员按其

7、当月销售额的提成领取工资;销售经理既拿固定月薪也领取销售提成。设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。2、功能要求(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编

8、号的唯一性。(5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。(6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计平均工资、最高工资、最低工资等信息。(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。工作内容及时间进度安排16月4日10日:布置任务,软件设计;26

9、月11日18日:编写代码,上机调试;36月19、20、21日:软件验收,撰写课程设计报告;4各班在6月22日下午五点前将课程设计报告收齐并上交。课程设计任务书第一章 绪论11 课程设计的目的1) 此次课程设计的目的是以c+程序设计基础为基础,针对具有一定难度的综合性题目,进行分析、编程、调试和运行,进一步掌握面向对象和面向过程程序设计的基本方法和编程技巧, 巩固所学理论知识, 使理论与实践相结合, 提高分析问题、解决问题的能力。要求学生达到熟练掌握C+语言的基本知识和技能。2) 基本掌握面向对象程序设计的基本思路和方法3) 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。4) 通

10、过设计一个简单的小型公司工资管理系统 ,进一步熟悉 C+中类的概念、类的封装、 继承和多态的实现方式;掌握文件的录入、查找;对象指针的使用。了解系统开发的需要分析, 类层次设计,模块分析, 编码测试,模块组装与整体调试的全过程, 逐步熟悉程序设计的方法,并养成良好的编程习惯。 12 课程设计的背景和意义121 课程设计的背景1. 理论研究基础C+面向对象程序设计是计算机专业的基础课程,本课程按照软件程序设计所需能力进行教学设计,提出以项目模块方式带动相关知识点、实践项目和理论并行的思路,将案例贯穿于课程始终,对原有的教学体系、教学内容进行重新编排,按照从易到难的原则,将其巧妙地融入到项目开发过

11、程中,降低学习难度,提高学生学习的信心,有效培养学生的应用能力和学习能力。2. 技术层面的支持本系统运用到:类与对象在C+中的实现、静态数据成员、运算符重载、友元函数继承与派生的基本知识、单继承和多继承、虚基类的作用与使用、虚函数的定义和使用、纯虚函数和抽象类的定义和使用、输入输出流的概念、输入、输出流操作、文件的创建、打开、读写、关闭等操作。122 课程设计的意义本课程按照软件程序设计所需能力进行教学设计,提出以项目模块方式带动相关知识点、实践项目和理论并行的思路,将案例贯穿于课程始终,对原有的教学体系、教学内容进行重新编排,按照从易到难的原则,将其巧妙地融入到项目开发过程中,降低学习难度,

12、提高学生学习的信心,有效培养学生的应用能力和学习能力。小型公司工资管理对公司管理有着很重要的作用。在当今社会应用广泛。13 课程设计环境硬件平台: CPU:i5。2.67GHz。 RAM:512MB以上。软件平台: 操作系统:Windows xp/ Windows 7 编辑环境:Visual c+ 6.0分辨率:最佳效果1024768像第二章 需求分析21 问题描述 某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。四类人员的月薪计算方法如下:经理拿固定月薪;技术人员按小时领取月薪;销售人员按其当月销售额的提成领取工资;销

13、售经理既拿固定月薪也领取销售提成。设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。22 功能要求(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除功能

14、:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。(6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计平均工资、最高工资、最低工资等信息。(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。22 问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立

15、该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。第三章 系统设计31 数据设计311 类设计根据课程设计要求,需要定义六个类:雇员类(基类)(worker)(如表3-1-1)、经理类(manager)(如表3-1-2)、技术人员类(technologyman)(表3-1-3)、销售人员类(saleman)(如表3-1-4)、销售经理类(salemanager)(如表3-1-5)和管理类(c

16、ontrol)(如表3-1-6)。 雇员类数据成员:编号int num; 姓名 char name20; 性别char sex5; 部门char branch20;int mark; static int count, static int count1, static int count2, static int count3,static int count4, static int count5, static int count6; int basic; double worktime;double xiaoshoue; int job; 成员函数: worker() worker(i

17、nt mark) virtual worker() static int display1() friend istream& operator (istream& in,worker& w) ;friend ostream& operator (istream& in,manager& w) ;friend ostream& operator (istream& in,technologyman& w) ;friend ostream& operator (istream& in,saleman& w) ;friend ostream& operator (istream& in,salem

18、anager& s) ;friend ostream& operator 、 operator mark=mark; count+; virtual worker() cout员工类被析构;(istream& in,worker& w) ; friend ostream& operator (ostream& out,worker& w); static int display1() return count; void input(); virtual void inputmoney(); virtual void display(); virtual void display2()=0;

19、virtual void money()=0; char *getjibie() return jibie; double getworktime()return worktime; double getxiaoshoue() return xiaoshoue; worker * next; int num; char name20; char sex5; char branch20;/部门 char jibie20; int mark; static int count,count1,count2,count3,count4,count5,count6; int basic; double

20、worktime; double xiaoshoue; int job; /职务;(2) 经理类:class manager:virtual public worker /经理 public:manager() manager(int mark):worker(mark) manager() cout经理类被析构;(istream& in,manager& w) ; friend ostream& operator (ostream& out,manager& w); void inputmoney() job=1; cout请输入职员基本工资:basic; count3+; void dis

21、play2() cout职务:经理 职员基本工资 : endl; coutbasic; void money() cout该员工的实际工资是:basicendl; ;(3) 技术人员类:class technologyman:virtual public worker /技术人员public:technologyman() technologyman(int mark):worker(mark) technologyman() cout技术人员类被析构;endl; void inputmoney() job=3; cout请输入职员工作时间:worktime; count5+; void di

22、splay2()cout职务:技术人员 职员工作时间:endl; coutworktime; void money() jine=35; cout该员工的实际工资是:(jine*worktime)(istream& in,technologyman& w) ; friend ostream& operator (ostream& out,technologyman& w); int jine; ;(4) 销售人员类:class saleman:virtual public worker /销售人员 public:saleman()saleman(int mark):worker(mark)sa

23、leman() cout销售人员类被析构;endl;void inputmoney()job=2;cout请输入职员销售额:xiaoshoue;ount4+;oid display2()cout职务:销售人员 职员销售额: endl; coutxiaoshoue;void money() tichengbili=0.05;cout该员工的实际工资是:xiaoshoue*tichengbili(istream& in,saleman& w) ;friend ostream& operator (ostream& out,saleman& w);double tichengbili; ;(5) 销

24、售经理:class salemanager: public manager, public saleman /销售经理public: salemanager() salemanager(int mark):worker(mark) salemanager() cout销售经理类被析构;endl; void inputmoney() job=4; cout请输入职员基本工资,销售额:basicxiaoshoue; count6+; void display2() cout职务:销售经理 职员基本工资,销售额:endl; coutbasic xiaoshoue; void money() tich

25、engbili=0.03; cout该员工的实际工资是:basic+xiaoshoue*tichengbili(istream& in,salemanager& s) ; friend ostream& operator next; /指向下一个节点 delete head; /释放空间 head=p; head=NULL; void showface(); void changeinformation();/修改 void cancelinformation();/删除 void addinformation(); /添加 void showinformation(); /显示 void s

26、earchinformation(); / 查询 void countinformation(); / 计算 void readinformation(); / 读入 void keepinformation(); / 保存 void tongjiformation(); /统计; 42 函数实现(雇员类) int worker:count=0; int worker:count1=0; int worker:count2=0; int worker:count3=0; int worker:count4=0; int worker:count5=0; int worker:count6=0;

27、 void worker:input() cout请输入职员信息:endl; coutnum; coutname; int i; coutsex; if(strcmp(sex,nan)=0|strcmp(sex,nv)=0)if(strcmp(sex,nan)=0) count1+; else count2+;break;else cout输入错误请重新输入endl; coutbranch; void worker:inputmoney() cout基本工资:basic; void worker:display() cout编号:num 姓名:name 性别:sex 部门:(istream&

28、in,worker& w) w.input(); w.inputmoney(); return in; ostream& operator (istream& in,manager& w) w.input(); w.inputmoney(); return in; ostream& operator (istream& in,technologyman& w) w.input(); w.inputmoney(); return in; ostream& operator (ostream& out,technologyman& w) w.display(); w.display2(); w.money(); return out; (销售人员类)i

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服