C++程序设计实习报告文档格式.doc
- 文档编号:5020836
- 上传时间:2023-05-04
- 格式:DOC
- 页数:24
- 大小:388KB
C++程序设计实习报告文档格式.doc
《C++程序设计实习报告文档格式.doc》由会员分享,可在线阅读,更多相关《C++程序设计实习报告文档格式.doc(24页珍藏版)》请在冰点文库上搜索。
技术员:
工作时间*小时工资(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.程序结束。
以上是我所认为的该程序的几个要点…………………………………..
三、程序清单
#include<
iostream>
string>
cmath>
iomanip>
fstream>
usingnamespacestd;
constN=2;
fstreamoutfile;
classemployee//基类,雇佣者
{
protected:
stringname;
charsex;
intage;
public:
virtualvoiddisplay()
{cout<
<
"
其姓名:
;
cin>
>
name;
cout<
性别(m/w):
sex;
年龄:
cin>
age;
}
stringnam(){returnname;
}
charse(){returnsex;
intag(){returnage;
};
//
classtechnician:
publicemployee//技术员类
intworktime;
intnumber1;
voiddisplay1()
{
技术员的编号:
number1;
employee:
:
display();
工作时间"
worktime;
inttime(){returnworktime;
intnumb1(){returnnumber1;
//
classmanager:
publicemployee//经理类
{protected:
intnumber2;
public:
voiddisplay2()
经理的编号:
number2;
intnumb2(){returnnumber2;
//
classsalesman:
publicemployee//销售员类
inttotal;
intboss;
intnumber3;
voiddisplay3()
销售员的编号:
number3;
cout<
销售额:
total;
所属销售经理的编号:
boss;
inthismanager(){returnboss;
intxiaoshoue(){returntotal;
intnumb3(){returnnumber3;
classsalesmanager:
publicmanager//销售经理类
intnumber4;
voiddisplay4()
销售经理的编号:
cin>
number4;
intnumb4(){returnnumber4;
voidform()
cout<
★★小型公司工资管理系统★★"
endl;
//提示表格
┌─────────────┐"
│请选择您所需的操作│"
│数据输入:
1,并按回车键│"
│数据统计:
2,并按回车键│"
│数据打印:
3,并按回车键│"
│数据备份:
4,并按回车键│"
│退出系统:
5,并按回车键│"
└─────────────┘"
请选择一个操作:
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();
cin>
shuzi;
switch(shuzi)
case'
1'
{
//功能1
for(i=0;
i<
N;
i++)
t1[i].display1();
......................................."
m1[i].display2();
2*N;
s1[i].display3();
for(i=0;
sm1[i].display4();
break;
2'
//功能2
for(i=0;
{wage[i]=5000;
all=0;
cout<
职工号为"
sm1[i].numb4()<
销售经理"
sm1[i].nam()<
下属销售员的业绩为:
┌─────┬────┬─────┐"
cout<
│职工号│姓名│销售额│"
for(m=0;
m<
m++)
{if(s1[m].hismanager()==sm1[i].numb4())
{ wage[i]=wage[i]+0.005*(s1[m].xiaoshoue());
all=all+s1[m].xiaoshoue();
cout<
├─────┼────┼─────┤"
cout<
│"
setw(10)<
s1[m].numb3()<
setw(8)<
s1[m].nam()<
s1[m].xiaoshoue()<
}}
cout<
├─────┼────┴─────┤"
│销售额总计│"
setw(20)<
all<
└─────┴──────────┘"
for(j=0;
j<
j++)
for(k=0;
k<
N-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;
销售经理按工资排序为:
┌─────┬────┬────┬────┬────┐"
│职工号│姓名│性别│年龄│工资│"
for(g=0;
g<
g++)
├─────┼────┼────┼────┼────┤"
sm1[g].numb4()<
setw(8)<
sm1[g].nam()<
sm1[g].se()<
sm1[g].ag()<
wage[g]<
└─────┴────┴────┴────┴────┘"
break;
//功能3
3'
cout<
请等待............"
职工基本情况一览表如下"
技术员"
cout<
for(i=0;
{
t1[i].numb1()<
t1[i].nam()<
t1[i].se()<
t1[i].ag()<
t1[i].time()*100<
}
//技术员表
......................................................."
经理"
m1[i].numb2()<
m1[i].nam()<
m1[i].se()<
m1[i].ag()<
8000"
//经理表
for(g=0;
//销售经理表
销售员"
┌─────┬────┬────┬────┬────┬────────┐"
│职工号│姓名│性别│年龄│工资│所属部门经理编号│"
(2*N);
├─────┼────┼────┼────┼────┼────────┤"
s1[i].numb3()<
s1[i].nam()<
s1[i].se()<
s1[i].ag()<
s1[i].xiaoshoue()*0.04<
setw(16)<
s1[i].hismanager()<
└─────┴────┴────┴────┴────┴────────┘"
..............................................................................."
break;
case'
4'
数据备份"
outfile.open("
E:
\\sjq.txt"
ios:
in|ios:
out|ios:
trunc);
outfile<
outfile<
ou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 实习 报告