《中国石油大学c++实习报告-小型公司工资管理系统》由会员分享,可在线阅读,更多相关《中国石油大学c++实习报告-小型公司工资管理系统(24页珍藏版)》请在金锄头文库上搜索。
1、<p>中国石油大学(华东)信息与控制工程学院程序设计实习报告小型公司工资管理系统的设计专业班级:电子11级学号:姓名: 时 间:2012.09.012011.09.072012年9月目录一、 实习内容1二、 设计思路2三、 程序清单3四、 运行结果14五、 程序使用说明21六、 总结及心得体会22程序设计实习报告一、实习内容设计一个简单的小型公司管理系统,。了解系统开发的需求设计、类层次设计、模版分析、模块组装与整体调试的过程;熟悉程序设计的方法。1.题目:小型公司工资管理系统的设计 2.设计说明与基本要求: (1)公司主要有4类人员: 经理、技术员、销售员、销售经理。要求存储这些
2、人的职工号、姓名、性别、年龄、月工资等信息; (2) 工资的计算方法: 经理:固定月薪为8000元; 技术员:工作时间×工资(100元/小时); 销售员:销售额×4%提成; 销售经理:底薪(5000元)+下属销售员销售额总额×0.5%; (3) 员工基本数据的输入: 要求每类人员不能少于4人,其中销售员需要8名,每名销售经理手下有名销售员。3. 实现的基本功能:数据输入、数据统计、数据打印、数据备份、退出。(应用程序中要有菜单,用于选择各项功能)4.菜单说明 数据输入要通过键盘; 统计是统计销售经理下属销售员的销售额及销售额之和,销售经理按
3、工资冒泡排序; 数据打印是以表格形式在屏幕上输出; 数据备份是将所有的员工信息保存到文件; 退出:结束程序运行。二、设计思路    1.类的结构                 先创建了一个Employer基类.然后派生出四个类: Mana
4、ger、Technician、Salesman、Salemanager。分别对经理、技术员、销售员、销售经理的数据进行输入。然后选用了一个switch的多分枝选择结构,依次据菜单的选择条件执行数据的输入、数据统计、数据打印、数据备份和退出等。数据的备份要用到fstream类,用来支持对磁盘文件的输入输出。对于switch,结束循环用到exit函数。此函数的参数为任意整数。 三、程序清单#include<iostream>#include<string>#include<iomanip>#include&
5、lt;fstream>using namespace std;class employee public:int get1();string get2();char get3();int get4();protected:int num,age; string name;double pay;char sex;int employee:get1()return num;string employee:get2()return name;char employee:get3()return sex;int employee:get4()return age;class techni
6、cian:public employee protected:int hour;public:void display1()cout<<"技术员编号:"cin>>num; cout<<"技术员姓名:"cin>>name; cout<<"技术员年龄:"cin>>age; cout<<&qu
7、ot;技术员性别(m/w):"cin>>sex; cout<<"技术员工作时间:"cin>>hour; double get_pay();int get_time();double technician:get_pay()pay=100*hour;return pay;int technician:get_time()return hour;class manager:public employee public:void display2() cout&a
8、mp;lt;<"经理编号:"cin>>num; cout<<"经理姓名:"cin>>name; cout<<"经理性别(m/w):"cin>>sex; cout<<"经理年龄:"cin>>age; double get_pay()pay=8000
9、;return pay;class salesman:public employee protected:int number;double sales_volume;public:void display3()cout<<"销售员编号:"cin>>num; cout<<"销售员姓名:"cin>>name; cout<<"销售员性别(m/w):"ci
10、n>>sex; cout<<"销售员年龄:"cin>>age; cout<<"销售员的销售额:"cin>>sales_volume; cout<<"所属销售经理的编号:"cin>>number; int numb()return number;double sa()return sales_vo
11、lume;double get_pay()return sales_volume*0.04;class salesmanager:public manager public:void display4()cout<<"销售经理的编号:"cin>>num; cout<<"销售经理的姓名:"cin>>name; cout<<"销售经理的性别(m/w):"
12、cin>>sex; cout<<"销售经理的年龄:"cin>>age; ;void excel() cout<<" 小型公司工资管理系统"<<endl; cout<<" "<<endl; cout<<" 请选择您所需的操作 "&am
13、p;lt;<endl; cout<<" 数据输入:1,并按回车键 "<<endl; cout<<" 数据统计:2,并按回车键 "<<endl; cout<<" 数据打印:3,并按回车键 "<<endl; cout<<" 数据备份:4,并按回车键 "
14、;<<endl; cout<<" 退出系统:5,并按回车键 "<<endl; cout<<" "<<endl;cout<<"请选择一个操作:" void main()int i,j,x,k,y; char a; double mo4,mone4; excel();technician t4; manager m4; sal
15、esman s8; salesmanager sm4; cin>>j; while(j=1|j=2|j=3|j=4|j=5) switch(j) case 1: for(i=0;i<4;i+) ti.display1(); cout<<"-"<<endl; for(i=0;i<4;i+) mi.display2(); cout<<"-"<<endl; for
16、(i=0;i<8;i+) si.display3(); cout<<"-"<<endl; for(i=0;i<4;i+) smi.display4(); cout<<"-"<<endl; excel(); cin>>j; break;case 2: for(i=0;i<4;i+)cout<<"职工号
17、为"<<smi.get1()<<"销售经理"<<smi.get2()<<"下属销售员的业绩:"<<endl; cout<<""<<endl; cout<<" 职工号 姓名 销售额 "<<
18、endl; cout<<""<<endl; double money=0; for(x=0;x<8;x+) if(sx.numb()=smi.get1() money=money+sx.sa(); monei=money*0.005+5000; moi=money*0.005+5000; cout<<""<<setw(10)<<sx.get1()<&
19、lt;""<<setw(10)<<sx.get2()<<""<<setw(10)<<sx.sa()<<""<<endl; cout<<""<<endl; cout<<&
20、quot;销售额总计"<<setw(22)<<money<<""<<endl; cout<<""<<endl;cout<<"销售经理按工资排序为"<<endl;double mon;for(i=0;i<3;i+)for(x=0;x<3-i;x+)if(mox<mox+1)mon=mox;mox=mox+1;mox+1=mon;cout<<""<<endl; cout<<" 职工号 姓名 性别 年龄 工资 "<<endl;for( k=</p>