C++程序设计实习报告(共24页).doc
《C++程序设计实习报告(共24页).doc》由会员分享,可在线阅读,更多相关《C++程序设计实习报告(共24页).doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目录一、 实习内容1二、 设计思路2三、 程序清单3四、 运行结果15五、 程序使用说明20六、 总结及心得体会21专心-专注-专业一、实习内容课程设计的题目:小型公司工资管理系统设计设计说明:公司主要有四类人员:经理、技术员、销售员、销售经理。程序要求存储这些人的职工号、姓名、月工资、年龄、性别等信息。并且应用程序中要求给出菜单,用于选择各项功能。一、程序要求实现的功能即菜单目录有:1、 数据输入:输入各种数据;2、 数据统计:统计各销售经理下属销售员的销售额及销售额之和;销售经理工资进行冒泡排序;3、 数据打印:打印各类员工的数据信息;4、 数据备份:把各类员工的
2、数据信息写入文件中保存;5、 退出:退出本系统,即结束程序的运行。二、工资的计算方法A:经理:固定月薪为8000元;B:技术员:工作时间*小时工资(100元/小时);C:销售员:销售额* 4%提成;D:销售经理:底薪(5000)+所辖部门销售额总额* 0.5%。三、类的层次结构大体如下雇员类 技术员类 经理类 销售员类销售经理类二、设计思路1(1)首先我们要搞清楚各类之间的继承关系,设置基类employee,其派生类manager,technician,salesman。再以manager类为基类,再派生一个salesmanager类,将各类的数据成员设计成protected,方便派生类对基类
3、的继承;(2)在public里编写数据输入的函数,在主函数中输出菜单并定义各类的对象,通过对象来调用数据输入函数;2(1)在基类employee中补充几个返回各类数据的函数以用于返回输入的各类值;(2)在主函数内用冒泡法对销售经理的工资进行排序,定义一个wage来将各销售经理下面的销售员的销售额进行储存,定义一个all用于计算销售经理的销售总额,以便于下面对其进行工资的计算 ;(3)第2,3,4步都用大量的for循环进行输出,以实现表格的形成还有表格中数据的输入;在主函数内定义各类的对象,然后都是直接通过类的对象调用类内的函数,运用for循环进行打印,统计;3备份参照课本格式,选择路径及格式,
4、运用for循环备份;就是那个fstream之类的东西;、退出系统用exit(5)函数实现;4主函数运用switch语句,将上述功能编为case 15,每个case后添加break;5程序结束。以上是我所认为的该程序的几个要点. 三、程序清单#include#include#include#include#includeusing namespace std;const N=2;fstream outfile;class employee /基类,雇佣者protected: string name;char sex;int age;public: virtual void display() c
5、outname;coutsex;coutage;string nam()return name;char se()return sex;int ag()return age; /class technician: public employee /技术员类public: int worktime;int number1;public: void display1()coutnumber1;employee:display();coutworktime;int time()return worktime;int numb1()return number1; /class manager : pu
6、blic employee /经理类protected: int number2; public:void display2()coutnumber2;employee:display();int numb2()return number2; /class salesman : public employee /销售员类protected: int total;int boss;int number3;public:void display3()coutnumber3;employee:display(); couttotal;coutboss;int hismanager()return b
7、oss;int xiaoshoue()return total;int numb3()return number3; /class salesmanager : public manager /销售经理类protected: int number4;public:void display4()coutnumber4;employee:display();int numb4()return number4; /void form()cout小型公司工资管理系统endl; /提示表格coutendl;cout 请选择您所需的操作 endl;cout 数据输入:1,并按回车键 endl;cout 数
8、据统计:2,并按回车键 endl;cout 数据打印:3,并按回车键 endl;cout 数据备份:4,并按回车键 endl;cout 退出系统:5,并按回车键 endl;coutendl;coutshuzi;switch(shuzi)case 1: /功能1 for(i=0;iN;i+) t1i.display1();cout.endl; for(i=0;iN;i+) m1i.display2();cout.endl; for(i=0;i2*N;i+) s1i.display3();cout.endl; for(i=0;iN;i+) sm1i.display4();cout.endl;bre
9、ak;case 2: /功能2for(i=0;iN;i+)wagei=5000;all=0;cout职工号为sm1i.numb4()销售经理sm1i.nam()下属销售员的业绩为:endl;coutendl; cout职工号 姓名 销售额 endl;for(m=0;m2*N;m+)if(s1m.hismanager()=sm1i.numb4()wagei=wagei+0.005*(s1m.xiaoshoue();all=all+s1m.xiaoshoue(); coutendl; coutsetw(10)s1m.numb3() setw(8)s1m.nam()setw(10)s1m.xiaos
10、houe()endl; coutendl; cout销售额总计setw(20)allendl; coutendl;for(j=0;jN;j+) for(k=0;kN-j;k+) if(wagekwagek+1)t=wagek; /冒泡 wagek=wagek+1; wagek+1=t; f=sm1k; sm1k=sm1k+1;sm1k+1=f;cout销售经理按工资排序为:endl;coutendl;cout职工号 姓名 性别 年龄 工资 endl;for(g=0;gN;g+)coutendl;coutsetw(10)sm1g.numb4()setw(8)sm1g.nam()setw(8)sm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 实习 报告 24
限制150内