




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中国石油大学(华东)信息与控制工程学院程序设计实习报告小型公司工资管理系统的设计专业班级:自动化09-1班学号:姓名:仇涛 时 间:2010.8.222009.8.28 2010年8月目录一、 实习内容1二、 设计思路2三、 程序清单3四、 运行结果21五、 程序使用说明28六、 总结及心得体会29程序设计实习报告一、实习内容1.题目小型公司工资管理系统设计2.设计说明与要求(1) 公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、年龄、性别等信息。(2) 工资的计算方法A、 经理:固定月薪为8000元;B、 技术员:工作时间*小时工资(100/小时);C、 销售员:销售额*4%提成;D、 销售经理:底薪(5000元)+所辖部门销售总额*0.5%(3) 输入员工数据,要求每类人员不能少于4人,员工信息输出格式参考运行效果。(4) 实现功能 数据录入:输入各种数据; 数据统计:统计各销售经理下属销售员的销售额之和;销售经理按工资进行的冒泡排序; 数据打印:打印各类员工的数据信息; 数据备份:把各类员工的数据信息写入文件中保存; 退出:推出本系统;(5) 菜单说明数据录入指通过键盘输入各类员工的各项数据;数据统计指统计各销售经理下身书销售员的销售额及销售额之和;销售按工资进行冒泡排序;数据打印指按照表格的格式在屏幕上输出各员工的信息;数据备份指将所有员工的信息保存到文件;退出:结束程序的运行。二、设计思路从课本上的运行效果可以看出主函数是一个选择结构,可以确定主函数的内容;再根据课本给出的类的层次结构合理的定义类及其对象,在类中声明成员函数来完成对保护数据成员的调用,输出数据。根据运行效果的菜单来看知道有5个功能,于是编类里的成员函数来一个一个实现所要求的功能,总之就是将系统分块来做。 三、程序清单#include #include #include #include using namespace std;const A=2;const B=4;int a,b,c,d,s;class employee /员工(基类)protected:string name;int num;int age;char sex;double pay;public: employee() name=0; num=0; age=0; sex=0; pay=0; void set() coutname;coutsex;coutage;int get1()return num;string get2()return name;char get3()return sex;int get4()return age;double payment()return pay;class technician:public employee /技术员protected:int workhour;public:void set()coutnum;employee:set();coutworkhour;coutendl;pay=100*workhour;technician teA;class manager:public employee /经理public:void set()coutnum;employee:set();coutendl;int get()return 8000;manager manaA;class seller:public employee /销售员protected:double sell;int managernum;public:void set()coutnum;employee:set();coutsell;coutmanagernum;pay=sell*0.04;coutendl;int get5()return managernum;double get6() return sell;void tongji()coutsetw(12)numsetw(12)namesetw(12)sellendl; ;seller seB;class sellmanager:public employee /销售经理protected:int sumsale;public:void set()coutnum;employee:set(); coutendl; for (int i=0;iB;i+) if (num=sei.get5()sumsale=sumsale+sei.get6(); pay=5000+sumsale*0.005;void tongji()cout职工号为 num 销售经理 name 下属销售员的业绩为:endl; coutendl;coutsetw(12)职工号setw(12)姓名setw(12)销售额 endl;sellmanager semanaA;void line()cout-endlendl;void shuru1() for(a=0;aA;a+)tea.set();line();void shuru2() for(a=0;aA;a+)manaa.set();line();void shuru3() for(b=0;bB;b+)seb.set();line();void shuru4() for(a=0;aA;a+)semanaa.set();line();void mulu()cout 小型公司工资管理系统 endl; coutendl;cout 请选择您所需的操作 endl; cout 数据输入:1,并按回车键 endl;cout 数据统计:2,并按回车键 endl;cout 数据打印:3,并按回车键 endl;cout 数据备份:4,并按回车键 endl;cout 退出系统:5,并按回车键 endl; coutendl;coutc;coutendl;void cijimulu()cout 小型公司工资管理系统 endl; coutendl;cout 请选择您所需的操作 endl; cout技术员数据输入: 1,并按回车键 endl;cout经理数据输入: 2,并按回车键 endl;cout销售员数据输入: 3,并按回车键 endl;cout销售经理数据输入:4,并按回车键 endl;cout返回上一级: 5,并按回车键 endl; coutendl;coutd;coutendl; void biaotou()coutendl; coutsetw(12)职工号setw(12)姓名setw(12)性别setw(12)年龄setw(12)工资endl;void biaozhong() coutendl;void biaowei()coutendl; void tongji() int a,b,s; for(a=0;aA;a+) s=0; semanaa.tongji(); for(b=0;bB;b+) if(seb.get5()=semanaa.get1() coutendl; seb.tongji(); s=s+seb.get6(); coutendl; coutsetw(8)销售额总计: setw(21)s endl; coutendl; cout销售经理按工资排序为:endl; biaotou(); for(int i=0;iA-1;i+) for(int j=i+1;jA;j+) if(semanai.payment()semanaj.payment() sellmanager g; g=semanai; semanai=semanaj; semanaj=g; for (int k=0;kA;k+) biaozhong(); coutsetw(12)semanak.get1()setw(12)semanak.get2()setw(12)semanak.get3()setw(12)semanak.get4()setw(12)semanak.payment()endl; biaowei();void daying()int k;cout请等待.endlendl;cout职工基本情况一览表如下endlendl;cout技术员endlendl;biaotou();for(k=0;kA;k+)biaozhong();coutsetw(12)tek.get1()setw(12)tek.get2()setw(12)tek.get3()setw(12)tek.get4()setw(12)tek.payment()endl; biaowei();line(); cout经理endlendl; biaotou();for(k=0;kA;k+)biaozhong();coutsetw(12)manak.get1()setw(12)manak.get2()setw(12)manak.get3()setw(12)manak.get4()setw(12)manak.get()endl; biaowei(); line(); cout销售经理endlendl; biaotou();for(k=0;kA;k+)biaozhong();coutsetw(12)semanak.get1()setw(12)semanak.get2()setw(12)semanak.get3()setw(12)semanak.get4()setw(12)semanak.payment()endl; biaowei(); line(); cout销售员endlendl; coutendl; coutsetw(8)职工号setw(8)姓名setw(8)性别setw(8)年龄setw(8)工资setw(20)所属部门经理endl; for(k=0;kB;k+) coutendl; coutsetw(8)sek.get1()setw(8)sek.get2()setw(8)sek.get3()setw(8)sek.get4()setw(8)sek.payment()setw(20)sek.get5()endl; coutendlendl; cout-endlendl;void beifen()ofstream myfile(qt.txt);int k;cout请等待.endlendl;myfile职工基本情况一览表如下endlendl;myfile技术员endlendl;myfileendl; myfilesetw(12)职工号setw(12)姓名setw(12)性别setw(12)年龄setw(12)工资endl;for(k=0;kA;k+)myfileendl;myfilesetw(12)tek.get1()setw(12)tek.get2()setw(12)tek.get3()setw(12)tek.get4()setw(12)tek.payment()endl; myfileendl; myfile经理endlendl; myfileendl; myfilesetw(12)职工号setw(12)姓名setw(12)性别setw(12)年龄setw(12)工资endl;for(k=0;kA;k+)myfileendl;myfilesetw(12)manak.get1()setw(12)manak.get2()setw(12)manak.get3()setw(12)manak.get4()setw(12)manak.get()endl; myfileendl; myfile销售经理endlendl; myfileendl; myfilesetw(12)职工号setw(12)姓名setw(12)性别setw(12)年龄setw(12)工资endl;for(k=0;kA;k+)myfileendl;myfilesetw(12)semanak.get1()setw(12)semanak.get2()setw(12)semanak.get3()setw(12)semanak.get4()setw(12)semanak.payment()endl; myfileendl; myfile销售员endlendl; myfileendl; myfilesetw(8)职工号setw(8)姓名setw(8)性别setw(8)年龄setw(8)工资setw(20)所属部门经理endl; for(k=0;kB;k+) myfileendl; myfilesetw(8)sek.get1()setw(8)sek.get2()setw(8)sek.get3()setw(8)sek.get4()setw(8)sek.payment()setw(20)sek.get5()endl; myfileendlendl; int main()while (c!=5)mulu();line();switch(c)case 1: while (d!=5) cijimulu();line();switch(d)case 1:shuru1();continue;case 2:shuru2(); continue;case 3:shuru3();continue;case 4:shuru4();continue;continue;case 2:tongji();continue;case 3:daying();continue; case 4: beifen(); continue;return 0;四、运行结果五、程序的使用说明运行程序,按照界面指示,选择需要的功能1).先选择1, 然后按Enter键.弹出次级菜单.2).再次选择1,然后按Enter键.输入技术员数据.3).选择2,然后按Enter键.输入经理数据.4).选择3, 然后按Enter键.输入销售员数据.5).选择4. 然后按Enter键.输入销售经理数据.6).选择5, 然后按Enter键.返回主菜单.7).选择2, 然后按Enter键.对数据进行统计,统计出各个销售经理下属销售员的业绩与销售经理的工资并排序.8).选择3, 然后按Enter键.对每个职位的数据进行打印.9).选择4, 然后按Enter键.进行数据备份.10)选择5, 然后按Enter键.退出程序.六、总结及心得体会程序设计实习就是培养我们运用所学的知识,结合实际问题来编出解决实际问题的程序;是让我们分析和解决问题锻炼独立解决问题,锻炼动手能力的重要手段。通过短短的五天实习,让我认识了程序设计的过程,知道如何去做一个简单的程序设计。回想拿到题目的时候,认为很容易做,但是通过自己的动手发现并不是很容易做,在编程的过程中遇到了各种各样的问题,有的向同学和老师请教,有的自己想办法解决,遇到的这些问题,提高了自己解决问题的能力,也提高了自己对程序设计的掌握的能力。做这次程序设计首先做的是类的定义声明,定义了很多的数据成员及成员函数,加深了对类与派生的理解。对于类的保护成员之被本身的成员函数使用,而不能被公有派生产生的派生类的成员函数使用。了解了类与派生类之间的关系,派生类的成员函数可以调用基类的公有成员。在派生类中还可以定义其他派生类的对象。练习了FOR循环,SWITCH的算法,全局变量的定义与使用,一维数组的定义与使用。在主菜单中调用各函数的算法,掌握了如何去使用函数的调用,以及函数的定义与调用的关系,定义在调用前的话,可以直接进行函数的调用,否则要先声明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省新平彝族傣族自治县2025年上半年事业单位公开遴选试题含答案分析
- 煤粉锅炉技术创新探讨
- 河北省清河县2025年上半年公开招聘村务工作者试题含答案分析
- 2025版危废运输废弃物处理废弃物处理设施设备维护保养合同
- 2025版委托挂靠合同范本:城市综合体项目合作
- 2025年度水利工程质量检测服务合同
- 2025版新兴产业项目抵押借款合同范本
- 2025年景区灯光秀工程安装施工合同
- 2025年度智能办公设备租赁与维护服务协议书
- 2025年度离婚协议中子女医疗费用承担补充协议样本
- 结肠造瘘还纳术手术配合
- 2024年山东省建筑施工企业主要负责人A类考试题库及答案(典型题)
- 特种设备目录新旧对照表
- 2024年初一英语阅读理解专项练习及答案
- 陪诊师与公司签订协议书范文
- 喀什德力克油田科技有限公司30万立方米-日油田伴生放空天然气回收利用项目
- PICC穿刺点感染个案护理课件
- 《动眼神经解剖》课件
- 2023全球数字经济白皮书
- 2023-2024苏教版小学四年级数学上册(全册)教案设计
- 2024事业单位食堂考试题及答案
评论
0/150
提交评论