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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(小型公司工资管理系统报告--C++.doc)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

小型公司工资管理系统报告--C++.doc

1、中国石油大学(华东)信息与控制工程学院 《程序设计实习》报告 小型公司工资管理系统的设计与实现 专业班级:电气工程及其自动化12级1班 学  号:12053117 姓  名:XXXXX 起止日期:2013.7.22~2013。7.27 指导老师:齐玉娟 2013年7月27日 目录 一、 实习内容……………………………………………………………………… 二、 设计思路……………………………………………………………………… 三、 调试分析……………………………………………………………………… 四、 程序清单……………………………………………………………………… 五

2、 测试结果……………………………………………………………………… 六、 实习总结及心得体会………………………………………………………… 七、 程序的使用及相关说明……………………………………………………… 一、实习内容 1.1、课程设计的目的 此次课程设计的目的是以《程序设计语言(C/C++)》为基础,针对具有一定难度的综合性题目,进行分析、编程、调试和运行,进一步掌握面向对象和面向过程程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题、解决问题的能力。 通过设计一个简单的《小型公司工资管理系统》,进一步熟悉C++中类的概念、类的封装、继承和多

3、态的实现方式.了解系统开发的需要分析,类层次设计,模块分析,编码测试,模块组装与整体调试的全过程,逐步熟悉程序设计的方法,并养成良好的编程习惯. 1.2、设计题目及要求 1 题目:《小型公司工资关系系统》设计 2 设计说明与要求 (1) 公司主要有4类人员:经理、技术员、销售员、销售经理。要求储存这些人的职工号姓名、月工资、年龄、性别等信息。 (2) 工资的计算方法 A、经理:固定月薪为8000元; B、技术员:工作时间×小时工资(100元每小时); C、销售员:销售额×4%提成; D、销售经理:底薪(5000元)+所辖部门销售额总额×0。5%; (3) 类的层

4、次结构大体如下: 雇员类 技术员类 销售员类 经理类 销售经理类 (4) 输入员工基本数据,要求每类人员不能少于4人,销售员工不少于8人,员工信息输出格式参考运行效果。 (5) 实现功能 应用程序中要有菜单,用于选择各种功能,其中 ① 数据输入:输入各种数据; ② 数据统计:统计各种销售经理下属销售员的销售额及限售额之和;销售经理按工资进行的冒泡排序; ③ 数据打印:打印各类员工的数据信息; ④ 数据备份:把各类员工的数据星系写入文件中保存; ⑤ 推出本系统; (6) 菜单说明

5、 ① 数据录入指通过键盘输入各类员工的各项数据; ② 数据统计指统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡法排序; ③ 数据打印指按照表格的格式在屏幕上输出个员工的信息; ④ 数据备份指将所有员工的信息保存到文件; ⑤ 退出:结束程序的运行。 (7) 注意一个销售经理管辖多个销售员。 (8) 其他功能可以自己扩充(扩充的功能若比较合理可适当加分). (9) 要求在控制台下完成(显示内容都在黑屏下显示). 二、设计思路 1、整体考虑程序应该实现的功能,有数据输入,数据统计,数据打印,数据备

6、份和退出系统5个. 2、首先定义一个employee的雇员基类,然后由此派生出technician,manager,seller,,四个分别为技术员类,经理类,销售员类;再由manager派生出销售经理类sellmanager。每个类中的数据成员都是protected型的,所有的继承都是公有继承,基类中定义有数据输入函数. 3、程序里定义了四个对象数组,technician te[4];manager ma[4];seller se[8];sellmanager sm[4],[]中的数据代表各类成员人数。 4、整个程序由主函数的一个while循环控制,根据输入的操作选项通过一个swit

7、ch语句判断该进行什么操作,每一个case后面对应一个函数,每个函数对应一个操作,1对应数据输入,2对应数据统计,3对应数据打印,4对应数据备份,5对应退出系统. 5、数据统计、打印以及备份都以表格形式输出。表格通过制表符进行设计。表头表尾表中、菜单还有分隔符均单独定义成void 型的函数。 6、主函数中用到了两个switch语句,switch(a)控制数据的输入、数据统计、数据打印、数据备份和退出系统,而switch(b)定义在switch(a)中a=1的情况下,用于对雇员的数据进行输入。 7、在进行销售经理的数据输出时,考虑其与销售员之间所属关系,排序时通过if语句先判断所属关系,再

8、进行冒泡法排序,这是要用到双重循环。 8、考虑各种数据类型还有所需的C++内的函数,要引用〈iostream〉 〈iomanip>这四个头文件。〈fstream>用于数据备份,用backup进行数据的输出。

9、给成员数据赋初值十分重要,在编写程序时我将employee类编成了这样class employee //雇员基类 { protected: string name; int num; int age; char sex; double wage; } 结果在编译的过程中遇到了很多错误其中前几个错误如下: C:\Users\yangkai\Desktop\C++\e。cpp(19) : error C2628: 'employee' followed by ’void' is illegal (did

10、 you forget a ’;’?) C:\Users\yangkai\Desktop\C++\e。cpp(22) : error C2065: 'name’ : undeclared identifier C:\Users\yangkai\Desktop\C++\e。cpp(24) : error C2065: 'sex' : undeclared identifier 大致上就是说name、sex、age、num、和wage未定义,经过思考我发现是这四个成员数据未赋初值,因此我在类中又加上了: public: employee() { name=”\0";

11、 num=0; age=0; sex=’\0’; wage=0; } 经此修改后,前面的错误果然没有了,由此我得出对成员数据赋初值是类定义的过程中必不可少的环节。 在排序的过程中我也犯了一个致命的错误,那就是将冒泡法和选择法弄混淆了。具体的程序如下: for(int i=0;i<4;i++)

12、 { for(int j=i+1;j<4;j++) if(sm[i]。show_wage()

13、不符合要求的,由于没有错误提示,找起错误来相对麻烦了许多,在查找过C++课本上关于选择和排序后我才发现原来是自己在编译的过程中将两种方法混合起来了,弄清楚原因后我很容易就将错误改正了过来,再次编译后发现显示的结果符合要求了。经过这一次的分析和调试我对选择法和冒泡法有了更加深刻了解。 在编写程序备份的过程中我也犯了个原则上的错误,那就是在使用ofstream 和backup前未加上应有的头文件,结果在编译时出现了不少错误,其中第一个错误是: C:\Users\yangkai\Desktop\C++\e.cpp(349) : error C2079: ’backup’ uses undefin

14、ed class 'basic_ofstream’ 从这里我找到了错误的原因,再加上头文件#include〈fstream〉再经过编译后顿时发现原来的错误全都消失不见了。四、程序清单 #include 〈iostream> #include 〈string> #include #include using namespace std; int i,j,a,b,sum; class employee //雇员基类

15、{ protected: string name; int num; int age; char sex; double wage; public: employee() { name=”\0"; num=0; age=0; sex=’\0’; wage=0; } void set() { cout〈<”其姓名:”; cin〉>name; cout<〈"性别(M/W):”; cin〉>sex; cout〈〈"年龄:”; cin〉〉age; } int show_num()

16、{ return num; } string show_name() { return name; } char show_sex() { return sex; } int show_age() { return age; } double show_wage() { return wage; } }; class technician:public employee //技术员派生类 { protected: int workhour; public: void set()

17、 { cout<〈”技术员的编号:"; cin〉>num; employee::set(); cout<<"工作时间:”; cin〉〉workhour; cout<〈endl; wage=100*workhour; } }; technician te[4]; class manager:public employee //经理派生类 { public: void set() { cout<<”经理的编号:”; cin〉>num; employee::set(); cout<

18、num; employee::set(); cout<<"销售额:"; cin〉>amount; c

19、out〈〈”所属销售经理的编号:"; cin〉〉belong_to_num; wage=amount*0。04; cout〈〈endl; } int show_belong_to_num() { return belong_to_num; } double show_amount() { return amount; } void tongjishuju() { cout〈<"│”<

20、 } }; seller se[8]; class sellmanager:public employee //销售经理派生类 { protected: int sum_amount; public: void set() { cout<〈”销售经理的编号:”; cin〉〉num; employee::set(); cout<

21、amount+se[i].show_amount(); } wage=5000+sum_amount*0。005; } void tongjishuju() { cout<<”职工号为 "<

22、ger sm[4]; void line() { cout<<"—--——-—-—--—-——-——--—---—-——-——---—-—”<〈endl<

23、} void shuruse() //输入销售员循环 { for(j=0;j<8;j++) se[j].set(); line(); } void shurusm() //输入销售经理循环 { for(i=0;i<4;i++) sm[i].set(); line(); } void mulu() { cout〈〈” ★★小型公司工资管理系统★★ "<

24、〈

25、 cin〉>a; cout〈

26、经理数据输入:4,并按回车键 │”<〈endl; cout<〈"│返回上一级: 5,并按回车键 │"〈>b; cout〈

27、"│"〈〈setw(12)<<”职工号”〈〈”│”〈〈setw(12)〈<"姓名"<<"│"<〈setw(12)〈〈"性别”<〈”│"<〈setw(12)<〈"年龄"<<”│”<〈setw(12)<〈"工资”〈<”│"<〈endl; } void biaozhong() { cout<<”├──────┼──────┼──────┼──────┼──────┤”〈

28、 int a,b,sum; for(a=0;a〈4;a++) { sum=0; sm[a].tongjishuju(); for(b=0;b〈8;b++) { if(se[b].show_belong_to_num()==sm[a]。show_num()) { cout〈〈"├──────┼──────┼──────┤”<

29、─┤”<

30、 { for(int j=i+1;j〈4;j++) if(sm[i]。show_wage()

31、g(); cout〈〈"│”<

32、endl<〈endl; cout<〈"技术员"<〈endl<〈endl; biaotou(); for(k=0;k〈4;k++) { biaozhong(); cout<〈”│”<

33、line(); cout〈〈"经理”<〈endl〈

34、ne(); cout〈<”销售经理"<

35、); cout〈<”销售员"〈〈endl<

36、"〈

37、ndl; cout〈〈”-—-—-—--—-—-————-——---—-—-—--—-—--—————-——————--”<

38、ckup〈〈"│”〈〈setw(12)<〈"职工号"〈〈"│"〈

39、]。show_sex()<<"│”〈〈setw(12)<

40、"<

41、

42、etw(12)〈〈”工资"〈<”│"<

43、} backup<〈”└──────┴──────┴──────┴──────┴──────┘"<

44、k=0;k〈8;k++) { backup〈<”├────┼────┼────┼────┼────┼──────────┤"<

45、〈

46、 shuruma(); continue; case 3: shuruse(); continue; case 4: shurusm(); continue; } } continue; case 2: tongjishuju(); continue; case 3: displaying(); continue; case 4: copy(); continue; } } retur

47、n 0; } 23 五、测试结果 六、总结及心得体会 通过对小型公司工资管理系统的C++程序编写,加强了我对C++功能的了解,对象与类之间关系的理解,同时也提高了上机实践能力,自主学习能力,错误分析能力…… 实习前对实习内容进行了半天的构思自以为考虑周全了,实则不然,如老师所言,要全局考虑,而我也正因为编写前考虑不周全,在定义完类以后,很快把输入数据的函数编写出来了,上机操作也很成功。可是到统计部分还有打印和备份部分就开始发现原写的程序有许多地方需要改动,或者增添新的成员或函数,比如统计数据时需要计算销售经理的工资并且排序,这就需要定义新的数组,新的函数来判断哪些销售员属

48、于哪位销售经理,并按其工资从高到低排序。还有打印数据时需要计算各类对象的工资,就得回头重新定义一些成员函数,而且由于成员都是保护类型的,类外不能直接访问,所以需要在类中定义具有返回类中各数据功能的函数。这些都是数据输入时没有考虑到的。 所以说,全局统筹规划,有缜密的构思很重要。当然,快速接受新事物的能力也是必备的,因为备份数据在课堂上听的不是很明白,所以就需要我下课后上网百度搜索相关的资料让后再自己学习,现学现用,因此我发现自主学习能力很重要。 再者,由于程序编写过程中出现错误是常有的事,那么,分析错误的能力也就需要慢慢提高,因为错误提示都是英文,所以学好英语也很有必要。错误往往是粗心或者

49、语法不对,比如大括号少了或者多了或者放错了位置,少打分号了,输入法转换时符号输入不经意间改变了,或者一些函数没有声明,声明位置靠后了,由于程序较长,有时候搞不清在哪定义在哪调用了。有时也可能重复定义了。 但其实难改的错误并不是这些,当一个程序可以运行时,发现输出的数据存在问题这才是最头疼的,比如程序写好了,费了好大的劲叔好了相关的数据却发现得到的表格是错误的,因此我就不得不修改程序和继续输入数据,这个过程花费了我很长时间 ,但是同时也培养了我的耐心和毅力。 总体来说,在整个程序中,我们通过使用while循环,switch语句,选择排序法,表格设计中的setw()以及类的定义及使用来完成程序

50、设计,使我提高了对C++中语句的使用能力和组合能力,进一步加强了我对使用C++编程的能力. 通过这次实习,对C++进行了更如的了解,得到了宝贵的经验,许多同学都有了很大的收获,对程序的优化问题也有了一定认识。然而我写的程序不算灵活,因为人数都是固定的,如果能定义成动态的,并且设置一些查找函数,增加多级菜单,我想程序会更实用。 最后我要向与我们相处了五天的齐老师,表达我内心的感激之情,虽然以前的C++课程不是她教授我们的,但是她给我们的感觉很亲切,在我们遇到问题的时候她总是不厌其烦的给我们答疑解惑,给我们感觉是她不仅是我们的老师,更像我们的朋友。谢谢老师! 七、程序的使用说明 1、运行程

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服