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

上传人:b****2 文档编号:1203029 上传时间:2022-10-18 格式: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

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

"<

co

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1