C++程序设计实习报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

目录一、实习内容…………………………………………………………………………1二、设计思路…………………………………………………………………………2三、程序清单…………………………………………………………………………3四、运行结果…………………………………………………………………………15五、程序使用说明……………………………………………………………………20六、总结及心得体会…………………………………………………………………21一、实习内容课程设计的题目:《小型公司工资管理系统》设计设计说明:公司主要有四类人员:经理、技术员、销售员、销售经理。程序要求存储这些人的职工号、姓名、月工资、年龄、性别等信息。并且应用程序中要求给出菜单,用于选择各项功能。一、程序要求实现的功能即菜单目录有:1、数据输入:输入各种数据;2、数据统计:统计各销售经理下属销售员的销售额及销售额之和;销售经理工资进行冒泡排序;3、数据打印:打印各类员工的数据信息;4、数据备份:把各类员工的数据信息写入文件中保存;5、退出:退出本系统,即结束程序的运行。二、工资的计算方法A:经理:固定月薪为8000元;B:技术员:工作时间*小时工资(100元/小时);C:销售员:销售额*4%提成;D:销售经理:底薪(5000)+所辖部门销售额总额*0.5%。三、类的层次结构大体如下雇员类↑技术员类经理类销售员类↓销售经理类二、设计思路1.(1)首先我们要搞清楚各类之间的继承关系,设置基类employee,其派生类manager,technician,salesman。再以manager类为基类,再派生一个salesmanager类,将各类的数据成员设计成protected,方便派生类对基类的继承;(2)在public里编写数据输入的函数,在主函数中输出菜单并定义各类的对象,通过对象来调用数据输入函数;2.(1)在基类employee中补充几个返回各类数据的函数以用于返回输入的各类值;(2)在主函数内用冒泡法对销售经理的工资进行排序,定义一个wage[]来将各销售经理下面的销售员的销售额进行储存,定义一个all用于计算销售经理的销售总额,以便于下面对其进行工资的计算;(3)第2,3,4步都用大量的for循环进行输出,以实现表格的形成还有表格中数据的输入;在主函数内定义各类的对象,然后都是直接通过类的对象调用类内的函数,运用for循环进行打印,统计;3.备份参照课本格式,选择路径及格式,运用for循环备份;就是那个fstream之类的东西;、退出系统用exit(5)函数实现;4.主函数运用switch语句,将上述功能编为case1~5,每个case后添加break;5.程序结束。以上是我所认为的该程序的几个要点…………………………………..三、程序清单#includeiostream#includestring#includecmath#includeiomanip#includefstreamusingnamespacestd;constN=2;fstreamoutfile;classemployee//基类,雇佣者{protected:stringname;charsex;intage;public:virtualvoiddisplay(){cout其姓名:;cinname;cout性别(m/w):;cinsex;cout年龄:;cinage;}stringnam(){returnname;}charse(){returnsex;}intag(){returnage;}};//classtechnician:publicemployee//技术员类{public:intworktime;intnumber1;public:voiddisplay1(){cout技术员的编号:;cinnumber1;employee::display();cout工作时间;cinworktime;}inttime(){returnworktime;}intnumb1(){returnnumber1;}};//classmanager:publicemployee//经理类{protected:intnumber2;public:voiddisplay2(){cout经理的编号:;cinnumber2;employee::display();}intnumb2(){returnnumber2;}};//classsalesman:publicemployee//销售员类{protected:inttotal;intboss;intnumber3;public:voiddisplay3(){cout销售员的编号:;cinnumber3;employee::display();cout销售额:;cintotal;cout所属销售经理的编号:;cinboss;}inthismanager(){returnboss;}intxiaoshoue(){returntotal;}intnumb3(){returnnumber3;}};//classsalesmanager:publicmanager//销售经理类{protected:intnumber4;public:voiddisplay4(){cout销售经理的编号:;cinnumber4;employee::display();}intnumb4(){returnnumber4;}};//voidform(){cout★★小型公司工资管理系统★★endl;//提示表格cout┌─────────────┐endl;cout│请选择您所需的操作│endl;cout│数据输入:1,并按回车键│endl;cout│数据统计:2,并按回车键│endl;cout│数据打印:3,并按回车键│endl;cout│数据备份:4,并按回车键│endl;cout│退出系统:5,并按回车键│endl;cout└─────────────┘endl;cout请选择一个操作:;}intmain(){inti,j,k,g,m,all,t;charshuzi;intwage[N];techniciant1[N];managerm1[N];salesmans1[2*N],s2[2*N];salesmanagersm1[N],f;for(t=1;;t++){form();cinshuzi;switch(shuzi){case'1':{//功能1for(i=0;iN;i++)t1[i].display1();cout.......................................endl;for(i=0;iN;i++)m1[i].display2();cout.......................................endl;for(i=0;i2*N;i++)s1[i].display3();cout.......................................endl;for(i=0;iN;i++)sm1[i].display4();cout.......................................endl;break;}case'2'://功能2for(i=0;iN;i++){wage[i]=5000;all=0;cout职工号为sm1[i].numb4()销售经理sm1[i].nam()下属销售员的业绩为:endl;cout┌─────┬────┬─────┐endl;cout│职工号│姓名│销售额│endl;for(m=0;m2*N;m++){if(s1[m].hismanager()==sm1[i].numb4()){wage[i]=wage[i]+0.005*(s1[m].xiaoshoue());all=all+s1[m].xiaoshoue();cout├─────┼────┼─────┤endl;cout│setw(10)s1[m].numb3()│setw(8)s1[m].nam()│setw(10)s1[m].xiaoshoue()│endl;}}cout├─────┼────┴─────┤endl;cout│销售额总计│setw(20)all│endl;cout└─────┴──────────┘endl;}for(j=0;jN;j++)for(k=0;kN-j;k++)if(wage[k]wage[k+1]){t=wage[k];//冒泡wage[k]=wage[k+1];wage[k+1]=t;f=sm1[k];sm1[k]=sm1[k+1];sm1[k+1]=f;}cout销售经理按工资排序为:endl;cout┌─────┬────┬────┬────┬────┐endl;cout│职工号│姓名│性别│年龄│工资│endl;for(g=0;gN;g++){cout├─────┼────┼────┼────┼────┤endl;cout│setw(10)sm1[g].numb4()│setw(8)sm1[g].nam()│setw(8)sm1[g].se()│setw(8)sm1[g].ag()│setw(8)wage[g]│endl;}cout└─────┴────┴────┴────┴────┘endl;break;//功能3case'3':cout请等待............endl;cout职工基本情况一览表如下endl;cout技术员endl;cout┌─────┬────┬────┬────┬────┐endl;cout│职工号│姓名│性别│年龄│工资│endl;for(i=0;iN;i++){cout├─────┼────┼────┼────┼────┤endl;cout│setw(10)t1[i].numb1()│setw(8)t1[i].nam()│setw(8)t1[i].se()│setw(8)t1[i].ag()│setw(8)t1[i].time()*100│endl;}cout└─────┴────┴────┴────┴────┘endl;//技术员表cout.......................................................endl;cout经理endl;cout┌─────┬────┬────┬────┬────┐endl;cout│职工号│姓名│性别│年龄│工资│endl;for(i=0;iN;i++){cout├─────┼────┼────┼────┼────┤endl;cout│setw(10)m1[i].numb2()│setw(8)m1[i].nam()│setw(8)m1[i].se()│setw(8)m1[i].ag()│setw(8)8000│endl;}cout└─────┴────┴────┴────┴────┘endl;//经理表cout.......................................................endl;cout销售

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功