C++实习:小型公司工资管理系统.doc_第1页
C++实习:小型公司工资管理系统.doc_第2页
C++实习:小型公司工资管理系统.doc_第3页
C++实习:小型公司工资管理系统.doc_第4页
C++实习:小型公司工资管理系统.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

中国石油大学(华东)信息与控制工程学院程序设计实习报告小型公司工资管理系统的设计专业班级:自动化10-1学号:10051115姓名:郭子玥 时 间:2011.7.142011.7.172011年7月目录一、 实习内容1二、 设计思路2三、 程序清单3四、 运行结果4五、 程序使用说明5六、 总结及心得体会6程序设计实习报告一、实习内容1.题目小型公司工资管理系统设计2.设计说明与要求(1) 公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、年龄、性别等信息。(2) 工资的计算方法A、 经理:固定月薪为8000元;B、 技术员:工作时间*小时工资(100/小时);C、 销售员:销售额*4%提成;D、 销售经理:底薪(5000元)+所辖部门销售总额*0.5%(3) 输入员工数据,要求每类人员不能少于4人,员工信息输出格式参考运行效果。(4) 实现功能 数据录入:输入各种数据; 数据统计:统计各销售经理下属销售员的销售额之和;销售经理按工资进行的冒泡排序; 数据打印:打印各类员工的数据信息; 数据备份:把各类员工的数据信息写入文件中保存; 退出:推出本系统;(5) 菜单说明数据录入指通过键盘输入各类员工的各项数据;数据统计指统计各销售经理下身书销售员的销售额及销售额之和;销售按工资进行冒泡排序;数据打印指按照表格的格式在屏幕上输出各员工的信息;数据备份指将所有员工的信息保存到文件;退出:结束程序的运行。二、设计思路本程序由雇员这个基类派生出多个派生类,并且调用多个函数。主函数主要运用选择结构。派生类中的保护类数据要通过定义公有类型的函数来从类外调用。主函数要尽可能得简明扼要,只是起调用其它函数的作用。每一个函数之间要相互协调 三、程序清单#include #include #include #include using namespace std;int i,j,a,b,sum;class employee /雇员基类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() coutname;coutsex;coutage;int shownum()return num;string showname()return name;char showsex()return sex;int showage()return age;double showwage()return wage;class technician:public employee /技术员派生类protected:int workhour;public:void set()coutnum;employee:set();coutworkhour;coutendl;wage=100*workhour;technician te2;class manager:public employee /经理派生类public:void set()coutnum;employee:set();coutendl;int mawage()return 8000;manager mana2;class seller:public employee /销售员派生类protected:double amount;int smnum;public:void set()coutnum;employee:set();coutamount;coutsmnum;wage=amount*0.04;coutendl;int showsmnum()return smnum;double showamount() return amount;void tongji()coutsetw(12)numsetw(12)namesetw(12)amountendl; ;seller se4;class sellmanager:public employee /销售经理派生类protected:int sumamount;public:void set()coutnum;employee:set(); coutendl; for (int i=0;i4;i+) if (num=sei.showsmnum()sumamount=sumamount+sei.showamount(); wage=5000+sumamount*0.005;void tongji()cout职工号为 num 销售经理 name 下属销售员的业绩为:endl; coutendl;coutsetw(12)职工号setw(12)姓名setw(12)销售额 endl;sellmanager sm2;void line()cout-endlendl;void shurute() /输入技术员循环 for(i=0;i2;i+)tei.set();line();void shuruma() /输入经理循环 for(i=0;i2;i+)manai.set();line();void shuruse() /输入销售员循环 for(j=0;j4;j+)sej.set();line();void shurusm() /输入销售经理循环 for(i=0;i2;i+)smi.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;couta;coutendl;void cijimulu()cout 小型公司工资管理系统 endl; coutendl;cout 请选择您所需的操作 endl; cout技术员数据输入: 1,并按回车键 endl;cout经理数据输入: 2,并按回车键 endl;cout销售员数据输入: 3,并按回车键 endl;cout销售经理数据输入:4,并按回车键 endl;cout返回上一级: 5,并按回车键 endl; coutendl;coutb;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,sum; for(a=0;a2;a+) sum=0; sma.tongji(); for(b=0;b4;b+) if(seb.showsmnum()=sma.shownum() coutendl; seb.tongji(); sum=sum+seb.showamount(); coutendl; coutsetw(8)销售额总计: setw(21)sum endl; coutendl; cout销售经理按工资排序为:endl; biaotou(); for(int i=0;i2;i+) for(int j=i+1;j2;j+) if(smi.showwage()smj.showwage() sellmanager g; g=smi; smi=smj; smj=g; for (int k=0;k2;k+) biaozhong(); coutsetw(12)smk.shownum()setw(12)smk.showname()setw(12)smk.showsex()setw(12)smk.showage()setw(12)smk.showwage()endl; biaowei();void displaying()int k;cout请等待.endlendl;cout职工基本情况一览表如下endlendl;cout技术员endlendl;biaotou();for(k=0;k2;k+)biaozhong();coutsetw(12)tek.shownum()setw(12)tek.showname()setw(12)tek.showsex()setw(12)tek.showage()setw(12)tek.showwage()endl; biaowei();line(); cout经理endlendl; biaotou();for(k=0;k2;k+)biaozhong();coutsetw(12)manak.shownum()setw(12)manak.showname()setw(12)manak.showsex()setw(12)manak.showage()setw(12)manak.mawage()endl; biaowei(); line(); cout销售经理endlendl; biaotou();for(k=0;k2;k+)biaozhong();coutsetw(12)smk.shownum()setw(12)smk.showname()setw(12)smk.showsex()setw(12)smk.showage()setw(12)smk.showwage()endl; biaowei(); line(); cout销售员endlendl; coutendl; coutsetw(8)职工号setw(8)姓名setw(8)性别setw(8)年龄setw(8)工资setw(20)所属部门经理endl; for(k=0;k4;k+) coutendl; coutsetw(8)sek.shownum()setw(8)sek.showname()setw(8)sek.showsex()setw(8)sek.showage()setw(8)sek.showwage()setw(20)sek.showsmnum()endl; coutendlendl; cout-endlendl;void copy()ofstream backup(qt.txt);int k;cout请等待.endlendl;backup职工基本情况一览表如下endlendl;backup技术员endlendl;backupendl; backupsetw(12)职工号setw(12)姓名setw(12)性别setw(12)年龄setw(12)工资endl;for(k=0;k2;k+)backupendl;backupsetw(12)tek.shownum()setw(12)tek.showname()setw(12)tek.showsex()setw(12)tek.showage()setw(12)tek.showwage()endl; backupendl; backup经理endlendl; backupendl; backupsetw(12)职工号setw(12)姓名setw(12)性别setw(12)年龄setw(12)工资endl;for(k=0;k2;k+)backupendl;backupsetw(12)manak.shownum()setw(12)manak.showname()setw(12)manak.showsex()setw(12)manak.showage()setw(12)manak.mawage()endl; backupendl; backup销售经理endlendl; backupendl; backupsetw(12)职工号setw(12)姓名setw(12)性别setw(12)年龄setw(12)工资endl;for(k=0;k2;k+)backupendl;backupsetw(12)smk.shownum()setw(12)smk.showname()setw(12)smk.showsex()setw(12)smk.showage()setw(12)smk.showwage()endl; backupendl; backup销售员endlendl; backupendl; backupsetw(8)职工号setw(8)姓名setw(8)性别setw(8)年龄setw(8)工资setw(20)所属部门经理endl; for(k=0;k4;k+) backupendl; backupsetw(8)sek.shownum()setw(8)sek.showname()setw(8)sek.showsex()setw(8)sek.showage()setw(8)sek.showwage()setw(20)sek.showsmnum()endl; backupendlendl; int main()while (a!=5)mulu();line();switch(a)case 1: while (b!=5) cijimulu();line();switch(b)case 1:shurute();continue;case 2:shuruma(); continue;case 3:shuruse();continue;case 4:shurusm();continue;continue;case 2:tongji();continue;case 3:displaying();continue; case 4: copy(); continue;return 0;四、运行结果五、程序的使用说明1.运行程序,按照交互界面的提示来进行所需要的操作。2.选择“1”,将进行员工数据输入的操作。进入次级界面后,按照提示选择不同种类的员工进行姓名,职工号,年龄等数据的输入。3.选择“2”,将进行统计各销售经理下属销售员工的销售额季销售额之和的排序,并将销售经理按照工资进行排序。4.选择“3”,将打印各类员工的数据信息,并将在屏幕上显示。5.选择“4”,将进行对所输入员工的信息进行备份,最后生成“*.txt”文件,并存储在该程序所在的目录中。6.选择“5”,将退出本程序。六、总结及心得体会这次C+程序设计实习只有短短的四天,但是在此之前我们有充足的时间去做准备。虽然在实习之前进行了准备和写草稿,但是这个程序基本考察了C+的所有知识,比较准确的考察了我们对C+掌握的程度。所以还是觉得有较高难度。本次程序设计实习中用到的的大部分内容都是我们所学到的知识,但是这个程序综合性较强,整体难度还是较高的。这个程序中用到了“#include ”文件流,需要我们自己提前学习。这个程序比较长,在编程的时候给我最深刻的体会是一定要整体考虑布局,并且一定

温馨提示

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

评论

0/150

提交评论