VC++课程设计报告Word文档格式.docx

上传人:b****7 文档编号:22220357 上传时间:2023-02-03 格式:DOCX 页数:21 大小:265.86KB
下载 相关 举报
VC++课程设计报告Word文档格式.docx_第1页
第1页 / 共21页
VC++课程设计报告Word文档格式.docx_第2页
第2页 / 共21页
VC++课程设计报告Word文档格式.docx_第3页
第3页 / 共21页
VC++课程设计报告Word文档格式.docx_第4页
第4页 / 共21页
VC++课程设计报告Word文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

VC++课程设计报告Word文档格式.docx

《VC++课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《VC++课程设计报告Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

VC++课程设计报告Word文档格式.docx

2.由销售员类Salesman,经理类Manager公有派生出销售经理类Salesmanager。

通过基类去写的派生类就可以调基类的公有成员。

3.利用for循环把经理数据,技术员数据,销售员数据,销售经理数据输入。

4.利用冒泡排序法,建立一个“擂台”,用“擂台”上的数的前一个数与之比较,小的那个数放到最后,把各销售经理的工资按升序排列。

5.利用switch进行选择系统进行的工作。

在主菜单中进行调用各函数,从而实现系统各功能的运行。

三、程序框图或流程图,程序清单与调用关系

四、全部源程序清单

//main.cpp

#include<

iostream>

string>

fstream>

//存放数据的头文件

iomanip>

//调整距离

#include"

Employee.h"

Manager.h"

Salesman.h"

Salesmanager.h"

Technician.h"

usingnamespacestd;

voidMIF()

{

cout<

<

"

 输入:

1 "

endl;

技术人员输入4个,经理4个,销售人员8个,销售经理4个"

 统计:

2 "

 打印:

3 "

 备份:

4 "

 退出:

5 "

}

intmain()

inti,j;

MIF();

Techniciant[4];

Managerm[4];

Salesmans[8];

Salesmanagersm[4];

cin>

>

j;

while(j==1||j==2||j==3||j==4||j==5)//选择步骤1或2或3或4或5

{

switch(j)

{

case1:

{

for(i=0;

i<

4;

i++)//重复输入4个技术人员

t[i].display1();

i++)//4个经理

m[i].display2();

8;

i++)//8个销售人员

s[i].display3();

i++)//4个销售经理,平均每人管理2个销售人员

sm[i].display4();

MIF();

//输入完毕回到界面管理

cin>

//重新操作

}

doublemo[4],mone[4];

//mo为销售人员薪酬,mone为销售经理薪酬

intx;

break;

case2:

{

i++)//重复显示4个销售经理及其下销售人员

{

cout<

职工号为"

sm[i].n()<

销售经理"

sm[i].na()<

下属销售员的业绩:

职工号姓名销售额"

doublemoney=0;

for(x=0;

x<

x++)//8个销售人员

{

if(s[x].numb()==sm[i].n())//1号销售人员属于201号销售经理

{

money=money+s[x].sa();

//销售额+销售业绩

mone[i]=money*0.005+5000;

//销售经理薪酬

mo[i]=money*0.005+5000;

//销售人员薪酬

cout<

"

setw(10)<

s[x].n()<

s[x].na()<

s[x].sa()<

//ID,姓名,销售额,sewt调整距离

}

}

销售额总计"

setw(22)<

money<

}

cout<

销售经理按工资排序为"

doublemon;

3;

i++)//冒泡

3-i;

x++)//4个,递减排序

if(mo[x]<

mo[x+1])//若后一个>

前一个

mon=mo[x];

mo[x]=mo[x+1];

mo[x+1]=mon;

}//利用中间变量,交换变量,改变2个变量间的大小排序

cout<

职工号姓名性别年龄工资"

for(intk=0;

k<

k++)

for(inty=0;

y<

y++)

if(mone[y]==mo[k])

{

cout<

sm[y].n()<

sm[y].na()<

sm[y].s()<

setw(8)<

sm[y].a()<

mone[y]<

}//ID,姓名,性别,年龄,薪酬

MIF();

cin>

case3:

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

技术员"

 职工号 姓名  性别  年龄  工资 "

for(x=0;

x++)//把4个技术员输出

{

t[x].n()<

t[x].na()<

t[x].s()<

t[x].a()<

t[x].w()<

经理"

//4个经理

x++)

m[x].n()<

m[x].na()<

m[x].s()<

m[x].a()<

m[x].w()<

//4个销售经理

sm[x].n()<

sm[x].na()<

sm[x].s()<

sm[x].a()<

mone[x]<

销售员"

//8个销售员

s[x].s()<

s[x].a()<

s[x].w()<

MIF();

cin>

case4:

ofstreamoutfile("

beifen.txt"

ios:

:

out);

//创建文件

if(!

outfile)//不成功显示error提示

cerr<

openerror!

exit

(1);

outfile<

职工基本情况一览表如下:

//文件这输入此行语句

技术员的资料统计"

//同上

i++)//t——>

Technician

outfile<

职工号:

t[i].n()<

姓名:

t[i].na()<

性别:

t[i].s()<

年龄:

t[i].a()<

工作时间:

t[i].ti()<

工资:

t[i].w()<

}

经理的资料统计"

i++)//m——>

Manager

m[i].n()<

m[i].na()<

m[i].s()<

m[i].a()<

m[i].w()<

销售员的资料统计"

i++)//s——Salesman

s[i].n()<

s[i].na()<

s[i].s()<

s[i].a()<

销售额:

s[i].sa()<

s[i].w()<

所属销售经理编号:

s[i].numb()<

销售经理的资料统计"

i++)//sm——>

Salesmanager

sm[i].s()<

sm[i].a()<

mone[i]<

outfile.close();

//输入完毕,关闭文件

//回到界面

case5:

是否确定退出系统:

是1;

否0:

intz;

z;

if(z==1)

exit(0);

if(z==0)

MIF();

cin>

default:

cout<

输入有误,请重新输入:

MIF();

cin>

return0;

//Employee.h

classEmployee

public:

Employee();

virtual~Employee();

protected:

intnum,age;

doublewages;

charsex;

stringname;

intn();

//ID

stringna();

//姓名

chars();

//性别

inta();

//年龄

};

//Employee.cpp

Employee:

Employee()

{}

~Employee()

intEmployee:

n()

{returnnum;

stringEmployee:

na()

{returnname;

charEmployee:

s()

{returnsex;

a()

{returnage;

//Manager.h

classManager:

publicEmployee

Manager();

virtual~Manager();

voiddisplay2()

{

cout<

经理的编号:

;

num;

其姓名:

name;

性别(m/w):

sex;

年龄:

age;

}

doublew()

wages=8000;

//固定工资8000

returnwages;

//Manager.cpp

Manager:

Manager()

~Manager()

//Salesman.h

classSalesman:

Salesman();

virtual~Salesman();

intnumber;

doublesales_volume;

voiddisplay3()

销售员的编号:

销售额:

sales_volume;

所属销售经理的编号:

number;

intnumb()

{returnnumber;

doublesa()

{returnsales_volume;

{returnsales_volume*0.04;

//Salesman.cpp

Salesman:

Salesman()

~Salesman()

//Salesmanager.h

classSalesmanager:

publicManager

Salesmanager();

virtual~Salesmanager();

voiddisplay4()

销售经理的编号:

//Salesmanager.cpp

Salesmanager:

Salesmanager()

~Salesmanager()

//Technician.h

classTechnician:

publicEmployee

Technician();

virtual~Technician();

inthour;

voiddisplay1()

技术员的编号:

工作时间:

hour;

doublew();

intti();

//Technician.cpp

Technician:

Technician()

~Technician()

doubleTechnician:

w()

doublewa;

wa=100*hour;

returnwa;

intTechnician:

ti()

{returnhour;

五、程序运行的测试与分析

六、结论与心得

1.对于问题,一开始分析问题的时候并没有十分认真审题,直接把录入、统计、备份功能作为类分析,但实际上题目要求的是将员工职业用类区别;

2.C++中关于冒泡排序中并不一定需要程序员本身去编码,C++中本身有一个自带的快速排序的函数qsort(),其原理利用了折半查找的原理,但在尝试使用该函数时,总会出错,期望今后能够掌握该函数的应用;

3.关于数据写入文件,做的时候习惯了C语言的文本读写应用,后查询,C++文本读写有所不同,并且更为方便快捷;

4.程序中并没有能实现在录入一个数据后能自动返回到操作界面,只能把所有数据一次过录入完毕后,才能自动返回操作界面,而且录入时候,程序容错性不大好,容易出现bug,期望今后能更加改进。

七、参考资料

1.《面向对象程序设计VisualC++》刘斌王忠编著,清华大学出版社;

2.《c++语言程序设计教程(本科)》吕凤翥 编著,人民邮电出版社;

3.《算法与数据结构C语言版第二版》陈守孔孟佳娜武秀川等编著,机械工业出版社;

八、致谢

感谢刘斌、王忠、吕凤翥、陈守孔等作者及其编著书籍,以及XX;

 

课程设计成绩评定表

对课程设计工作过程的简短介绍和自我评价

经过努力查询和编码,最终完成了程序的基本功能实现。

其中不断有大量问题伴随着工作而产生,巨量的问题让我从中体会到自己对于C++语言的不熟练和学习到的东西并没有掌握,通过互联网和图书馆中的资料反复查找,以及同学间的学习交流得到自己所要的知识后,重复练习使用,在程序中能简单应用。

自身在工作过程中作用最大,感觉已尽力完成任务要求。

学生签名:

2013年12月26日

(以下由评定小组教师填写)

质量评价指标(在相应栏目打√)

评价项目

评价质量

优秀

良好

一般

及格

不及格

工作量和态度

实验、计算可靠性

文字和图表质量

总体评价

评定成绩(百分制)

评定小组成员签名

2013年月日

制定人:

审定人:

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

当前位置:首页 > 经管营销 > 经济市场

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

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