小型公司工资管理系统._第1页
小型公司工资管理系统._第2页
小型公司工资管理系统._第3页
小型公司工资管理系统._第4页
小型公司工资管理系统._第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中国石油大学(华东)信息与控制工程学院程序设计实习报告小型公司工资管理系统的设计专业班级:电子信息工程 * 班号:*名:*指导教师: *时 间: 2013.7.12013.7.62013年7月目录一、实习内容 01二、设计思路 02三、程序调试过程中典型问题及解决方法 03四、运行结果 04五、程序使用说明 10六、 心得体会及课程改进设想 10备注:页码根据目录的实际页码进行标注程序设计实习报告一、实习内容1. 题目:小型公司工资管理系统的设计2. 设计说明与基本要求(1) 公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、性别、年龄、月工资等 信息;(2)

2、工资的计算方法经理:固定月薪为8000元;技术员:工作时间*小时工资(100元/小时);销售员:销售额*4%提成;销售经理:底薪(5000元)+下属销售员销售额总额*0.5% ;(3) 员工基本数据的输入要求每类人员不能少于2人,其中销售员需要4名,每名销 售经理手下至少有2名销售员。(4) 各类的数据成员访问权限设置为:protected(5) 注意一个销售经理管辖多个销售员。(6) 其他功能可适当扩充。(7) 要求在控制台下完成。3. 实现基本功能(1) 菜单选择功能(2) 数据输入:输入各种数据;(3) 数据统计:统计各销售经理下属销售员的销售额及销售额之和;销售经 理按工资进行冒泡排序

3、;(4) 数据打印:打印各类员工的数据信息;(5) 菜单说明1. 数据录入指通过键盘输入各类员工的各项数据;2. 数据统计指统计各销售经理下身书销售员的销售额及销售额之和;销售按工 资进行冒泡排序;3数据打印指按照表格的格式在屏幕上输出各员工的信息;4数据备份指将所有员工的信息保存到文件;5退出:结束程序的运行。二、设计思路充分利用了类的继承与派生的知识,先定义了一个雇员类staff ,由雇员类公有派生出技术员类 tech,销售员类saleman, 经理类 mannger,由销售员类 saleman,经理类 mannger公有派 生出销售经理类 salemannger。各类的数据成员访问权限设

4、置 为:protected,继承方式都运用公有继承,通过基类去写的派 生类就可以调基类的公有成员。利用for循环把经理数据,技术 员数据,销售员数据,销售经理数据输入,利用冒泡排序法把各 销售经理的资按升序排列。利用if语句进行选择系统进行的工作。在主菜单中进行调用各函数,从而实现系统各功能的运行。主函数要尽可能得简明扼要,只是起调用其它函数的作用。每一个函数之间要相互协调,要让程序中的变量和函数能够得到分运 用,这样可以加快程序的运行速度,加强程序的实用性。三、程序调试过程中典型问题及解决方法1、这个程序比较长,在编程的时候给我最深刻的体会是一定要整体考虑布 局,并且一定要注意程序的简洁性。

5、整体布局,首先体现在对垒中各个变量、函 数的定义以及对对象的声明上。因为本程序要求类中变量是保护类型的变量, 也 就意味着再累外不能直接访问,只能够通过类中公有函数去访问,而类中的数据 在后续操作中要参与统计,比较等操作,所以在定义访问数据的函数时要注意函 数名的命名,一定要前后照应。例如,本程序中的四个派生类中都含有从雇员积 累中继承过来的“工资”这一个数据,但是在不一样的类中有不一样的情况,在 经理类中是固定的,但是在销售员类和销售经理类中是进行计算的, 这就要求可 以访问它们的函数有不一样的返回值。一边在后面进行统计。2、本程序中每一个类中都有多个对象,我刚开始在编程的时候时将它们一 个

6、一个独立的进行声明。但最后发现,其实利用对象数组进行声明更加简洁与方 便。尤其是在对销售经理利用冒泡法排序的时候, 以及在统计数据的时候,直接 利用多个FOR循环结构就可以很方便的对它们进行操作,省去了很多麻烦。3、在本程序中我们应该充分的利用类的继承和派生的优越性。我一开始在定义四个派生类时,在每一个派生类中都分别定义了输入输出姓名,年龄,性别的函数。到最后觉得十分繁琐,其实既然四个类都是从雇员类中继承过来的,所以直接在雇员基类中定义一个输入姓名,年龄,性别的函数就可以解决问题。4、本程序中中需要定义的函数,对象较多,所以要尽可能是名称简洁易懂, 这样我们在检查程序的时候比较好检查,刚开始的

7、时候我没注意到这个问题这给我后边的编程工作带来很大麻烦,我认为这在编程中是比较重要的。3程序设计实习报告4程序设计实习报告四、运行结果:t est 32LDebug迄VM遜誕据善玮 ese*小型益司工资管理系统*六O呂匚T:5 扁L1 i 间的:1 =2时囚容1 10 作:1401 石号4 扁L2 -i 4间的=1 蒔贝名4间3寸££ 9:5编an 一的鳥7间划* «贝名 选术姓别龄集姓别龄集箭龄集姓别龄作富裂莓年工年-I對0丸工4土I 5.8 /2 -眉匚 <m=3额103«号驚扁個二自h>的;员名5=2额曾窗 售姓别龄隹星薔龄售 年鶴一年

8、销号编02 窗翳丫 I0KH.扁 n S 0纟胃a > 8汚隹酮细'W11024 02:2叫S32 2 2 1n «« 9 n Srl7I -号ha+ 号">:号眾号">: -编鳥4编:wy编乂 4誓了 -的名5:3的名5:3的名5:3的名5:3 -理姓别龄理姓别龄理姓别龄理姓别龄 -经蓉年经產年经莓年经隹年1 2 3 5 您 择入计第统II艮_车键 车键 车犍 车键 车犍5程序设计实习报告6程序设计实习报告小型公司工资管理系统7程序设计实习报告#程序设计实习报告职工号301302销售额总计备里典n下属销售员的业绩为:姓名wan

9、g9104000销售额5000054000限工号为4毗销售经理1辿下属销售员的业绩为:职工号姓名销售额303want304vfan280000销售额总计14RR00何?工号为4曲销售经理血下属销售员的业绩为:职工号姓名销售额305gull90000daerl10000销售额总计100030|职工号为4附销售经理1讪2下属销售员的业绩为:职工号姓名销售额307ert20000308hja30000销售额总计H0008程序设计实习报告销嘗经理.按丄资排丹职工号姓名性别年龄工资402liu295700401sunu365520403sun2m225500404liu2m335250小型公司工资管理系

10、统- -J- - «J-Z - ?- UU.匸5B.H.1.H.H. 钱战战战钱 F车T牛辛车 軻回回回回回 wis 1 2 3 5 拓人计監统 选壇打熏 数歿数魏退9程序设计实习报告連选建一个操作3 魁鲁本情鬲一览表如下职工号姓名性别年龄工资101102103104shansfl27wangl11124li234B600580046005900SH职工号姓名性别年龄工资201zhanSw348000202wansrSvn3fiS000203hanglu348000204Iian2m358000销售经理职工号姓名性别年龄工资40211Uw29401isunw365000403sun2

11、n225000404lii*2m335000销售员职工号姓名性别年龄工资所属部门经理编号381zhangSn28209Q4013&2Vfang(3w3221$84013阴uanlw352400402304uan2m2&3200402305guilu35360040330&daerlpi33400403307ertw23S0Q404308>ijan32120Q4S4小型公司工资管理系统1 2 3 4 5择入计掘统> -1 _ .- . I- J- J.- .- . L-L- 数魏歿数la&二 一 rh-二 r*二-J - J- 镇镶 乍车车车车车 彳回

12、回回回回10程序设计实习报告#程序设计实习报告水童k司工资管理系统*#程序设计实习报告H-二E-一 一了二 u&LJ-br- aa 车车车车车雑 回回回回回#程序设计实习报告11程序设计实习报告五、程序使用说明点击运行后须按所给提示输入,当提示给出后可供选择的选项有1、2、3、4、5选择1时,可输入公司职员的基本信息当第1步输入完后可以运行第2步,对销售经理和销售员的基本信息进行统计选择3时,可以将公司职员的信息以表格方式进行统计。选择4时,可以在程序所在的文件夹内生成一个 TXT格式的文本文档。选择5时,可以选择是否退出程序。在提示给出后,当输入错误的选择时可给出提示并进行重新选择。

13、六、心得体会及课程改进设想12程序设计实习报告程序清单以上为实验报告,下面附上程序#in clude<fstream>#in clude<iostream>#i ncludevioma nip>#in elude <stri ng>using n amespace std;class staffprotected:int num;stri ng n ame;double mon ey;int age;char sex;public:int g_num()return nu m;stri ng g_n ame()return n ame;double g

14、_mon ey()return mon ey;int g_age()return age;char g_sex()return sex;;class tech:public staffprotected:int time;public:int g_time()return time;void in put1()cout«"技术员的编号:"cin>>num; coutvv"其姓名:"cin>>name;cout«"性另»(m/w):"ci n> >sex;cout

15、1;"年龄:"ci n> >age;cout«"工作时间:"cin»time;class mann ger:public staffpublic:void in put2()cout«"经理的编号:"cin>>num; coutvv"其姓名:"cin>>name;cout«"性另 y (m/w):"ci n> >sex;coutvv"年龄:"ci n> >age;class s

16、alema nn ger:public mann gerpublic:void in put3()coutvv"销售经理的编号:"cin>>num;coutvv"其姓名:"cin>>name;cout«"性另廿(m/w):"ci n> >sex;cout«"年龄:"ci n> >age;class salema n:public staffprotected:int nu m2;public:int g_nu m2()return nu m2;vo

17、id in put4()cout«"销售员的编号:"cin>>num;coutvv"其姓名:"cin>>name;cout«"性另 y (m/w):"ci n> >sex;coutvv"年龄:"ci n> >age;coutvv"销售额:"c in»mon ey;coutvv"所属销售经理的编号:"cin»num2;int x,i,j;tech t4;mann ger m4;salema

18、nn ger s4,e;salema n sa8;double sum4;int main()void setout();void put2();void put3();void put4();void put5();for(;) setout();cin> >x;if(x=1)for(i=0;i<4;i+)ti.i nput1();cout«" "<<endl;for(i=0;i<4;i+)mi.i nput2();cout«" "<<endl;for(i=0;i<8;i+)sa

19、i.i nput4();cout«" "<<endl;for(i=0;i<4;i+)si.i nput3();cout«" "<<endl;else if(x=2)put2();else if(x=3)put3();else if(x=4)put4();else if(x=5)int b;coutvv"请问是否要退出系统:选择1是;2否"<<endl;cin> >b;if(b=1)exit(1);if(b=2)con ti nu e;elsecoutvv&quo

20、t;输入错误!请检查后重新输入! "<<endl;此处为大循环的终止return 0;void setout()coutvv" 小型公司工资管理系统 "<<e ndl;coutvv" |1"vve ndl;coutvv" I请选择您所需的操作I "vve ndl;coutvv" I数据输入:1,并按回车键I "vve ndl;coutvv" I数据统计:2,并按回车键I "vve ndl;coutvv" I数据打印:3,并按回车键I "vve

21、 ndl;coutvv" I数据备份:4,并按回车键I "vve ndl;coutvv" I退出系统:5,并按回车键I "vve ndl;coutvv" L1"vve ndl;coutvv"请选择一个操作II;void put2()double y,sum4=0,0,0,0;for(i=0;i<4;i+)cout«"职工号为"<<si.g_num()vv"销售经理"<<si.g_name()vv"下属销售员的业绩为:"<

22、<endl;cout«" |111"<<endl;coutvv" | 职工号 丨 姓名 丨销售额 丨"vvendl;for(j=0;j<8;j+)if(si.g_ num( )=saj.g_ nu m2()coutvv" |111"<<endl;coutvv" | "vvsetw(9)v<saj.g_num()<<"| "vvsetw(8)v<saj.g_name()<<"I "vvsetw(8

23、)vvsaj.g_money()vv" | "vvendl;sumi=sumi+saj.g_m on ey(); coutvv" |111"vvendl;coutvv" | "vv"销售额总计"vv" | "vvsetw(10)vvsumivv"| " vvendl;coutvv" 111"vve ndl; coutvv"销售经理按工资排序:"vvendl; for(j=0;jv3;j+)for(i=0;iv3-j;i+)if(sumi

24、vsumi+1)y=sumi;sumi=sumi+1;sumi+1=y;e=si;si=si+1;si+1=e;coutvv" |11111"vve ndl;coutvv" |职工号| 姓名 |性别|年龄|工资| "vve ndl;for(i=0;iv4;i+) coutvv" |111HT"vve ndl;cout«" | "vvsetw(6)v<si.g_num()vv" | "<vsetw(7)v<si.g_name()vv" "vvsetw

25、 <<si.g_sex()vv"|"<<setw (5) <<si.g_age()<<""vvsetw(8)v<5000+sumi*0.005vv" | "<<endl;coutvv" 111111"<<e ndl;cout«" "<<e ndl; void put3()cout«"请等待"<<endl;coutvv"职工基本情况一览表如下&qu

26、ot;<<endl;cout«"技术员"<<endl;coutvv" |11111"<<endl;coutvv" |职工号| 姓名 |性别|年龄 |工资 | "<<endl;for(i=0;i<4;i+) coutvv" |11111"vvendl;coutvv" | "vvsetw(6)vvti.g_num()vv" | "vvsetw(7)vvti.g_name()vv" "vvsetw

27、vvti.g_sex()vv"|"vvsetw (5) vvti.g_age()vv""vvsetw(8)vvti.g_time()*100vv" | "vvendl;coutvv" 111111 "vve ndl;coutvv" "vve ndl;coutvv"经理"vve ndl;coutvv" |11111 "vvendl;coutvv" |职工号| 姓名 |性别|年龄 |工资 | "vvendl;for(i=0;iv4;i+)

28、cout«" |11111"<<endl;cout«" | "v<setw(6)v<mi.g_num()<<"| "<<setw(7)vvmi.g_name()<<""vvsetw <<mi.g_sex()vv"|"<<setw (5) <<mi.g_age()<<""<<setw(8)<<8000<<"

29、 | "<<endl;cout«" 111111"<<e ndl;cout«" "<<e ndl;cout«"销售经理"<<endl;cout«" |11111"<<endl;coutvv" |职工号| 姓名 |性别|年龄 |工资 | "vvendl;for(i=0;i<4;i+) coutvv" |11111"<<endl;coutvv"

30、 | "vvsetw(6)v<si.g_num()vv" | "v<setw(7)vvsi.g_name()vv" | "vvsetw vvsi.g_sex()vv"|"vvsetw (5)vvsi.g_age()vv"|"vvsetw(8)vv5000+sumi*0.005 vv" | "vve ndl;coutvv"coutvv""vve ndl;"vve ndl;coutvv"销售员"vvendl;coutv

31、v" |1"vve ndl;coutvv" |职工号|"<<e ndl;姓名 丨性别丨年龄 丨工资丨所属部门经理编号Ifor(i=0;i<8;i+)cout«" |T "<<endl;cout«" | "vvsetw (6)<<sai.g_num()<<"I "<<setw(7)vvsai.g_ name()<<""vvsetw(4)v<sai.g_sex()vv"

32、;IIvvsetw(5)v<sai.g_age()vv""v<setw(8)v<0.04*sai.g_mo ney()<<""vvsetw(16)v<sai.g_num2()vv""<<e ndl;coutvv" 111111"<<endl;coutvv""<<e ndl;void put4()ofstream outfile("f1.txt",ios:out);/ 定义文件流对象,打开磁盘文件“ f1.

33、txtif(!outfile)cerr<<"open error!"<<endl;如果打开失败,outfile 返回值为零exit(1);coutvv"数据备份中,请等待"<<endl;coutvv"备份完毕!"outfilevv"* 职工情况一览表 *"vvendl;outfilevv"职工基本情况一览表如下:"<<endl;outfilevv"*技术员的资料统计*"<<endl;for(i=0;i<4;i+)outfilevv" 职 工 号:"v<setw(10)vvti.g_num()vv"姓名:"wsetwwtliLgnameOvv" 性另:"<<setw wt.gSexOvv" 年 龄:"<<setwwtHgageOvv" 工作时间:"<<$6上可(10)<<圳.9计6()<<" 工 资:"<<$6上可(10)<<圳.9计6()*100<<6 ndl;out

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论