C++程序设计实习报告.doc

上传人:wj 文档编号:2690096 上传时间:2023-05-04 格式:DOC 页数:24 大小:388KB
下载 相关 举报
C++程序设计实习报告.doc_第1页
第1页 / 共24页
C++程序设计实习报告.doc_第2页
第2页 / 共24页
C++程序设计实习报告.doc_第3页
第3页 / 共24页
C++程序设计实习报告.doc_第4页
第4页 / 共24页
C++程序设计实习报告.doc_第5页
第5页 / 共24页
C++程序设计实习报告.doc_第6页
第6页 / 共24页
C++程序设计实习报告.doc_第7页
第7页 / 共24页
C++程序设计实习报告.doc_第8页
第8页 / 共24页
C++程序设计实习报告.doc_第9页
第9页 / 共24页
C++程序设计实习报告.doc_第10页
第10页 / 共24页
C++程序设计实习报告.doc_第11页
第11页 / 共24页
C++程序设计实习报告.doc_第12页
第12页 / 共24页
C++程序设计实习报告.doc_第13页
第13页 / 共24页
C++程序设计实习报告.doc_第14页
第14页 / 共24页
C++程序设计实习报告.doc_第15页
第15页 / 共24页
C++程序设计实习报告.doc_第16页
第16页 / 共24页
C++程序设计实习报告.doc_第17页
第17页 / 共24页
C++程序设计实习报告.doc_第18页
第18页 / 共24页
C++程序设计实习报告.doc_第19页
第19页 / 共24页
C++程序设计实习报告.doc_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++程序设计实习报告.doc

《C++程序设计实习报告.doc》由会员分享,可在线阅读,更多相关《C++程序设计实习报告.doc(24页珍藏版)》请在冰点文库上搜索。

C++程序设计实习报告.doc

目录

一、实习内容…………………………………………………………………………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.程序结束。

以上是我所认为的该程序的几个要点…………………………………..

三、程序清单

#include

#include

#include

#include

#include

usingnamespacestd;

constN=2;

fstreamoutfile;

classemployee//基类,雇佣者

{

protected:

stringname;

charsex;

intage;

public:

virtualvoiddisplay()

{cout<<"其姓名:

";

cin>>name;

cout<<"性别(m/w):

";

cin>>sex;

cout<<"年龄:

";

cin>>age;

}

stringnam(){returnname;}

charse(){returnsex;}

intag(){returnage;}

};//

classtechnician:

publicemployee//技术员类

{

public:

intworktime;

intnumber1;

public:

voiddisplay1()

{

cout<<"技术员的编号:

";

cin>>number1;

employee:

:

display();

cout<<"工作时间";

cin>>worktime;

}

inttime(){returnworktime;}

intnumb1(){returnnumber1;}

};//

classmanager:

publicemployee//经理类

{protected:

intnumber2;

public:

voiddisplay2()

{

cout<<"经理的编号:

";

cin>>number2;

employee:

:

display();

}

intnumb2(){returnnumber2;}

};//

classsalesman:

publicemployee//销售员类

{

protected:

inttotal;

intboss;

intnumber3;

public:

voiddisplay3()

{

cout<<"销售员的编号:

";

cin>>number3;

employee:

:

display();

cout<<"销售额:

";

cin>>total;

cout<<"所属销售经理的编号:

";

cin>>boss;

}

inthismanager(){returnboss;}

intxiaoshoue(){returntotal;}

intnumb3(){returnnumber3;}

};//

classsalesmanager:

publicmanager//销售经理类

{protected:

intnumber4;

public:

voiddisplay4()

{

cout<<"销售经理的编号:

";

cin>>number4;

employee:

:

display();

}

intnumb4(){returnnumber4;}

};//

voidform()

{

cout<<"★★小型公司工资管理系统★★"<

cout<<"┌─────────────┐"<

cout<<"│请选择您所需的操作│"<

cout<<"│数据输入:

1,并按回车键│"<

cout<<"│数据统计:

2,并按回车键│"<

cout<<"│数据打印:

3,并按回车键│"<

cout<<"│数据备份:

4,并按回车键│"<

cout<<"│退出系统:

5,并按回车键│"<

cout<<"└─────────────┘"<

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();

cin>>shuzi;

switch(shuzi)

{

case'1':

{

//功能1

for(i=0;i

t1[i].display1();

cout<<"......................................."<

for(i=0;i

m1[i].display2();

cout<<"......................................."<

for(i=0;i<2*N;i++)

s1[i].display3();

cout<<"......................................."<

for(i=0;i

sm1[i].display4();

cout<<"......................................."<

break;}

case'2':

//功能2

for(i=0;i

{wage[i]=5000;all=0;

cout<<"职工号为"<

"<

cout<<"┌─────┬────┬─────┐"<

cout<<"│职工号│姓名│销售额│"<

for(m=0;m<2*N;m++)

{if(s1[m].hismanager()==sm1[i].numb4())

{ wage[i]=wage[i]+0.005*(s1[m].xiaoshoue());all=all+s1[m].xiaoshoue();

cout<<"├─────┼────┼─────┤"<

cout<<"│"<

}}

cout<<"├─────┼────┴─────┤"<

cout<<"│销售额总计│"<

cout<<"└─────┴──────────┘"<

for(j=0;j

for(k=0;k

if(wage[k]

{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<<"销售经理按工资排序为:

"<

cout<<"┌─────┬────┬────┬────┬────┐"<

cout<<"│职工号│姓名│性别│年龄│工资│"<

for(g=0;g

{

cout<<"├─────┼────┼────┼────┼────┤"<

cout<<"│"<

}

cout<<"└─────┴────┴────┴────┴────┘"<

break;//功能3

case'3':

cout<<"请等待............"<

cout<<"职工基本情况一览表如下"<

cout<<"技术员"<

cout<<"┌─────┬────┬────┬────┬────┐"<

cout<<"│职工号│姓名│性别│年龄│工资│"<

for(i=0;i

{

cout<<"├─────┼────┼────┼────┼────┤"<

cout<<"│"<

}

cout<<"└─────┴────┴────┴────┴────┘"<

cout<<"......................................................."<

cout<<"经理"<

cout<<"┌─────┬────┬────┬────┬────┐"<

cout<<"│职工号│姓名│性别│年龄│工资│"<

for(i=0;i

{

cout<<"├─────┼────┼────┼────┼────┤"<

cout<<"│"<

}

cout<<"└─────┴────┴────┴────┴────┘"<

cout<<"......................................................."<

cout<<"销售经理"<

cout<<"┌─────┬────┬────┬────┬────┐"<

cout<<"│职工号│姓名│性别│年龄│工资│"<

for(g=0;g

{

cout<<"├─────┼────┼────┼────┼────┤"<

cout<<"│"<

}

cout<<"└─────┴────┴────┴────┴────┘"<

cout<<"......................................................."<

cout<<"销售员"<

cout<<"┌─────┬────┬────┬────┬────┬────────┐"<

cout<<"│职工号│姓名│性别│年龄│工资│所属部门经理编号│"<

for(i=0;i<(2*N);i++)

{

cout<<"├─────┼────┼────┼────┼────┼────────┤"<

cout<<"│"<

}

cout<<"└─────┴────┴────┴────┴────┴────────┘"<

cout<<"..............................................................................."<

break;

case'4':

cout<<"数据备份"<

outfile.open("E:

\\sjq.txt",ios:

:

in|ios:

:

out|ios:

:

trunc);

outfile<<"技术员"<

outfile<<"┌─────┬────┬────┬────┬────┐"<

outfile<<"│职工号│姓名│性别│年龄│工资│"<

for(i=0;i

{

outfile<<"├─────┼────┼────┼────┼────┤"<

outfile<<"│"<

}

outfile<<"└─────┴────┴────┴────┴────┘"<

outfile<<"......................................................."<

outfile<<"经理"<

outfile<<"┌─────┬────┬────┬────┬────┐"<

outfile<<"│职工号│姓名│性别│年龄│工资│"<

for(i=0;i

{

outfile<<"├─────┼────┼────┼────┼────┤"<

outfile<<"│"<

}

outfile<<"└─────┴────┴────┴────┴────┘"<

outfile<<"......................................................."<

outfile<<"销售经理"<

outfile<<"┌─────┬────┬────┬────┬────┐"<

outfile<<"│职工号│姓名│性别│年龄│工资│"<

for(g=0;g

{

outfile<<"├─────┼────┼────┼────┼────┤"<

outfile<<"│"<

}

outfile<<"└─────┴────┴────┴────┴────┘"<

outfile<<"......................................................."<

outfile<<"销售员"<

outfile<<"┌─────┬────┬────┬────┬────┬────────┐"<

outfile<<"│职工号│姓名│性别│年龄│工资│所属部门经理编号│"<

for(i=0;i<(2*N);i++)

{

outfile<<"├─────┼────┼────┼────┼────┼────────┤"<

outfile<<"│"<

}

outfile<<"└─────┴────┴────┴────┴────┴────────┘"<

outfile<<"..............................................................................."<

ou

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2