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

加入VIP,免费下载资源
 

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

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

下载须知

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

版权提示 | 免责声明

本文(c实习报告小型公司工资管理系统的设计.doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

c实习报告小型公司工资管理系统的设计.doc

1、 程序设计实习报告小型公司工资管理系统的设计专业班级:电子信息工程目录一、 实习内容1二、 设计思路2三、 程序清单3四、 运行结果4五、 程序使用说明5六、 总结及心得体会6word文档 可自由复制编辑一、实习内容本次实习的内容是设计一个小型公司的工资管理系统,通过这个系统实现对经理、技术员、销售员及销售经理等公司成员的职工号、姓名、年龄、月工资等信息的数据输入、数据处理、数据的输出显示、数据的备份等功能。本次实习主要是针对较难综合题目进行分析、编程、调试和运行,这利于我们进一步掌握面向过程和面向对象程序的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题解决问题的能力。

2、本次实习的题目及要求如下:1.题目:小型公司工资管理系统的设计2.设计说明与基本要求:(1 )公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、性别、年龄、月工资等信息;(2) 工资的计算方法: 经理:固定月薪为8000元;技术员:工作时间工资(100元/小时);销售员:销售额4%提成;销售经理:底薪(5000元)+下属销售员销售额总额0.5%;(3) 员工基本数据的输入:要求每类人员不能少于4人,其中销售员需要8名,每名销售经理手下有名销售员。(4) 各类的数据成员访问权限设置为:protected3.实现的基本功能:(1 )菜单选择功能; (2)数据的输入;

3、(3)数据的统计; (4)数据的输出,显示;(5)数据的备份; (6)退出系统。 二、设计思路1.类的层次结构2.设计思路首先要总体设计,要有一个菜单,用于选择各项功能,用来进行数据的录入,数据的统计,数据的打印,数据的备份,进入多级菜单,退出系统等功能。这就要充分利用了类的继承与派生的知识,先定义一个基类base,由基类共有派生出技术员类 Tec,销售员类Sel,经理类Man,又由经理类公有派生出销售经理类Sma。把基类定义成虚基类,通过基类去写的派生类就可以调用基类的公有成员。程序中宜使用全局变量,便于修改,简便清晰。定义完类后,定义各函数,因为各功能的实现需要定义与其功能相适应的函数,所

4、以定义了数据输入函数ph1( ),数据打印函数ph3( ),数据统计函数ph2( ),数据备份函数save( ),进入多级菜单进行统计函数ph4( )等。将主函数放在最后来实现整个程序的运行,运用switch语句选择系统进行的工作,在主菜单中进行调用各函数,从而实现各功能。程序中要求销售经理工资排序则采用的冒泡排序法实现。 三、程序清单# include # include # include # include using namespace std;fstream outfile;int m,i,t,x;int salary4=0,0,0,0;int s4=0,0,0,0;void men

5、u() /定义主菜单函数cout小型公司工资管理系统endl; coutendl; cout 请选择您所需的操作 endl; cout 数据输入:1,并按回车键 endl; cout 数据统计:2,并按回车键 endl; cout 数据打印:3,并按回车键 endl; cout 数据备份:4,并按回车键 endl; cout 退出系统:5,并按回车键 endl; cout 多级菜单:6,并按回车键 endl; coutendl; cout请选择一个操作: ;void menus() /定义多级菜单函数cout小型公司工资管理系统endl; coutendl; cout 请选择您所需的操作 en

6、dl; cout 技术员基本情况 :1,并按回车键endl; cout 经理基本情况 :2,并按回车键endl; cout 销售经理基本情况 :3,并按回车键endl; cout 销售员基本情况 :4,并按回车键endl; cout 返回上一级 :5,并按回车键endl; coutendl; cout请选择一个操作: ;void heng() /定义heng函数cout endl;void form() /定义form函数coutendl; cout 职工号 姓名 性别 年龄 工资 endl; void forms() /定义forms函数outfileendl;outfile 职工号 姓名

7、性别 年龄 工资 endl; void head() /定义head函数 coutendl; cout 职工号 姓名 性别 年龄 工资 endl;void end() /定义end函数 coutendl;class Base /定义基类protected:int a,b,n;string c;char d;class Tec:protected Base /技术员类public:void print1 ()couta;coutc;coutd;coutn;coutb; void out1()coutendl;coutsetw(8)asetw(6)csetw(8)dsetw(8)nsetw(12)

8、int(b*100)endl;int a1()return a;int b1()return b;string c1()return c;char d1()return d;int n1()return n;Tec,tec4;class Man:protected Base /经理类public:void out2()coutendl;coutsetw(8)asetw(6)csetw(8)dsetw(8)bsetw(12)8000endl;int a2()return a;int b2()return b;string c2()return c;char d2()return d;int n2

9、()return n;void print2 ()couta;coutc;coutd;coutb;Man,man4;class Sel:protected Base /销售员类public:void print3 ()couta;coutc;coutd;coutb;coutn;coutf;int printsnum() return f;int printmoney()return n;void out() coutendl;coutsetw(9)a setw(9)c setw(9)n endl;void out3()coutendl;coutsetw(8)asetw(6)csetw(8)ds

10、etw(8)bsetw(10)int(n*0.04)setw(18)fendl;int a3()return a;int b3()return b;string c3()return c;char d3()return d;int n3()return n;int f3()return f;private: int f;Sel,sel8;class Sma:protected Man /销售经理类public:void print4 ()couta;coutc;coutd;coutb;int printnum()return a;string printname()return c;int a

11、4()return a;int b4()return b;string c4()return c;char d4()return d;int n4()return n;void mout()coutendl;coutsetw(8)asetw(6)csetw(8)dsetw(8)bsetw(12)int(5000+0.005*si)endl;Sma sma4;void ph1() /定义数据输入函数 for(i=0;i4;i+)teci.print1();heng(); for(i=0;i4;i+)mani.print2();heng(); for(i=0;i8;i+)seli.print3()

12、;heng(); for(i=0;i4;i+)smai.print4();heng();menu();void ph2() /定义数据统计函数int salary4=0,0,0,0;int s4=0,0,0,0;for(int j=0;j=3;j+)coutn职工号为smaj.printnum()销售经理smaj.printname()下属销售员的业绩为:endl;coutnendl;coutendl;cout 职工号 姓名 销售额 endl;for(i=0;i8;i+)if(seli.printsnum()=smaj.printnum()seli.out();sj+=seli.printmo

13、ney();salaryj=sj;coutendl;cout 销售额总计:setw(24)sjendl;coutendl;coutn销售经理按工资排序为: nendl;form();for(i=0;i3;i+) for(j=0;j3-i;j+)if(sjsj+1)m=sj;sj=sj+1;sj+1=m;for(i=0;i4;i+) for(j=0;j4;j+) if(salaryj=si) smaj.mout();break; coutendl; menu ();void ph3 () /定义数据打印函数cout 请等待.endl;cout职工基本情况一览表如下m;if(m=1)cout技术员

14、endl;form();for(int i=0;i4;i+)teci.out1();coutendl;heng();continue;else if(m=2)cout经理endl;form();for(i=0;i4;i+)mani.out2();coutendl;heng();continue;else if(m=3)cout销售经理endl;form();for(i=0;i2;i+) for(int j=0;j4;j+) if(salaryj=si) smaj.mout();break;coutendl; heng();continue;else if (m=4)cout销售员endl;co

15、utendl;cout 职工号 姓名 性别 年龄 工资 所属部门经理编号 endl;for(int k=0;k=7;k+)selk.out3();coutendl;heng();continue;else if(m=5)break;else cout你的选择有误,请重新选择。:endl;void ph4 () /定义进入多级菜单,数据统计函数 cout职工基本情况一览表如下:endl; cout技术员endl; head(); for(i=0;i4;i+) teci.out1(); end(); cout-endl; cout经理endl; head(); for(i=0;i4;i+) man

16、i.out2(); end(); cout-endl; cout销售经理endl; head(); for(i=0;i4;i+) smai.mout(); end(); cout-endl; cout销售员endl; coutendl; cout 职工号 姓名 性别 年龄 工资 所属部门经理编号 endl; for(i=0;i8;i+) seli.out3(); coutendl; cout-endl;menu();void save() /定义数据备份函数cout数据备份中,请稍等.endl;outfile.open(D:save.txt,ios:trunc|ios:out);outfile

17、技术员endl;forms();for(i=0;i4;i+)outfileendl; outfilesetw(8)teci.a1()setw(6)teci.c1()setw(8)teci.d1()setw(8)teci.n1()setw(12)int(teci.b1()*100)endl;outfileendl;outfile endl;outfile经理endl;forms();for(i=0;i4;i+)outfileendl;outfilesetw(8)mani.a2()setw(6)mani.c2()setw(8)mani.d2()setw(8)mani.b2()setw(12)800

18、0endl;outfileendl;outfile endl;outfile销售经理endl;forms();for(i=0;i4;i+)outfileendl;outfilesetw(8)smai.a4()setw(6)smai.c4()setw(8)smai.d4()setw(8)smai.b4()setw(12)int(5000+0.005*salaryi)endl;outfileendl;outfile endl;outfile销售员endl;outfileendl;outfile 职工号 姓名 性别 年龄 工资 所属部门经理编号 endl;for(i=0;i8;i+)outfilee

19、ndl;outfilesetw(8)seli.a3()setw(6)seli.c3()setw(8)seli.d3()setw(8)seli.b3()setw(10)int(seli.n3()*0.04)setw(18)seli.f3()endl;outfileendl;outfile endl;outfile.close();cout备份完成!endl;int main() /主函数menu();for(i=1;ix;switch (x)case 1:ph1();break;case 2: ph2();break;case 3:ph4();break;case 4:save();menu()

20、;break;case 6:ph3();menu();break;if(x=5)char t; cout您确定要退出吗?退出:请按 Y,否:请按Nendl;coutt;for(;)if(t!=n&t!=N&t!=y&t!=Y) coutt;if(t=n|t=N)menu();else break;return 0;四、运行结果五、程序的使用说明1.菜单说明 :(1)数据输入指通过键盘输入经理、技术员、销售员及销售经理等公司成员的职工号、姓名、年龄等各项数据;(2)数据统计指统计各销售经理下属销售员的销售额及销售总额,销售经理按工资进行的冒泡排序;(3)数据打印指按照表格的格式在屏幕上输出个员工

21、的信息;(4)数据备份指将所有员工的信息保存到文件;(5)退出指结束程序的运行;(6)进入多级菜单。2.其他说明:(1)选择功能是输入的必须是数字,否则系统可能会运行出错,得到不确定的结果。(2)由于程序设计的限制,输入名字时不能输入过长,否则系统出错;六、总结及心得体会通过四天的实习,我基本完成了设计一个小型公司工资管理系统的程序的任务,这使我对c+以及它的使用有了更深一步的理解和熟练,不过期间也遇到不少问题,由于对基础知识掌握的不够好,对全局变量的掌握不好,所以在出现错误是没能及时解决。刚开始时感觉无从下手,不过分步进行编辑,编译,调试,运行,比较容易进行编程。记得刚学习c+是感觉特别难,

22、始终没有搞清楚c+是门什么样的课,而通过这次实习我能够基本掌握C+语言编程的基础知识,通过这次编写的较难的程序,对于编程有了更多的了解和更贴切的体会。我想这有利于今后对c+的使用,锻炼我们缜密的思维提高我们的独立思考,独立解决问题,综合运用所学知识的能力,提高了上机动手编程的能力。通过本次实习,我加深了对类与派生的理解,对于类的保护成员只对本身成员函数使用,而不能被公有派生出的成员函数使用。了解了类与派生类之间的关系,练习了for循环switch的用法,全局变量的定义以及它的使用,一维数组的定义使用,并看到了一维数组使用的优点,通过编写一个小型工资管理系统,学会了简单的面向对象的编程方法,包括

23、类的结构设计、类的继承、虚函数与多态性等知识的应用以及文件的操作,并学会了模块化程序设计的方法。在主菜单中调用各函数的算法,掌握了如何去调用一个函数,以及函数的定义与调用的关系,定义在调用前的话,可以直接进行函数的调用,否则要先声明该函数,然后才能调用该函数。定义一个类对象即对一个类进行实例化,了解到该对象调用类的成员函数的方法。掌握用冒泡法对数组进行从小到大的排序。了解到如何使一个系统看起来比较规整,有条理性。了解到类中定义虚函数的用法,在该类的派生类中定义了同名的成员函数时,该派生类的成员函数仍然是虚函数。了解虚基类的使用和虚函数的使用。在这次实习中,知道了自己的动手能力还有待进一步提高,

24、一开始总是不能够把书本上学的知识运用到编写的程序上,就觉得好像没有信心完成,甚至有了放弃的念头,但是在认真看了课本及于同学的讨论之后,一项一项的任务渐渐完成,也就逐渐有了信心,渐渐觉得不怕出现错误,觉得改正错误挺有趣的,特别是改正过来使得成就感无法言说,实习中我也感觉到了请教别人与别人交流的重要性,这可能是你事半功倍,而且能是你的程序更简洁方便。再就是,在编译、连接、调试的过程中应定要有足够的耐心,因为这个过程中可能出现很多错误,我们也要记清常出的错误,以便下次出现时能更好更快的改正,遇到问题更要全面的分析。总之,这次实习是极有意义的一次实践,提高了自身的能力,这对以后的学习生活都有极大地意义word文档 可自由复制编辑

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922