C++程序设计实习报告_c程序设计实习报告

实习报告 时间:2020-02-28 20:45:09 收藏本文下载本文
【www.daodoc.com - 实习报告】

C++程序设计实习报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“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语句,将上述功能编为case 1~5,每个case后添加break;5.程序结束。

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

#include #include #include #include #include using namespace std;const N=2;fstream outfile;cla employee

//基类,雇佣者 { protected:

string name;char sex;int age;public:

virtual void display()

{

cout

cin>>name;cout>sex;cout

cin>>age;} string nam(){return name;} char se(){return sex;} int ag(){return age;} };

// cla technician: public employee

//技术员类 { public:

int worktime;int number1;public:

void display1()

{

} int time(){return worktime;} int numb1(){return number1;} cout>number1;employee::display();cout>worktime;};

// cla manager : public employee

//经理类 {protected:

int number2;

public:

void display2(){

} int numb2(){return number2;} cout>number2;employee::display();};

// cla salesman : public employee

//销售员类 { protected:

int total;int bo;int number3;public:

};

//

cla salesmanager : public manager

//销售经理类 {protected:

int number4;public: void display4(){ void display3(){

cout>number3;employee::display();

cout

} int hismanager(){return bo;} int xiaoshoue(){return total;} int numb3(){return number3;} cin>>total;cout>bo;

cout

cin>>number4;

employee::display();} int numb4(){return number4;} };

//

void form(){ cout

请选择您所需的操作

│“

数据输入:1,并按回车键 │”

数据统计:2,并按回车键 │“

数据打印:3,并按回车键 │”

数据备份:4,并按回车键 │“

退出系统:5,并按回车键 │”

int main(){ int i,j,k,g,m,all,t;

char shuzi;

int wage[N];

technician t1[N];

//提示表格

manager m1[N];

salesman s1[2*N],s2[2*N];

salesmanager sm1[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

s1[i].display3();cout

for(i=0;i

sm1[i].display4();cout

//功能2 for(i=0;i

cout

│姓名

│销售额

│“

for(m=0;m

cout

cout

cout

for(j=0;j

for(k=0;k

if(wage[k]

//冒泡

wage[k]=wage[k+1];wage[k+1]=t;f=sm1[k];sm1[k]=sm1[k+1];sm1[k+1]=f;} cout

│姓名

│性别

│年龄

│工资

│”

│”

break;

//功能3 case '3': cout

cout

cout

│姓名

│性别

│年龄

│工资

│“

for(i=0;i

│“

cout

cout

cout

│姓名

│性别

│年龄

│工资

│”

for(i=0;i

│”

} cout

//经理表

cout

cout

cout

│姓名

│性别

│年龄

│工资

│“

for(g=0;g

cout

cout

││”

cout

//销售经理表

cout

cout

cout

│姓名

│性别

│年龄

│工资

│所属部门经理编号│“

for(i=0;i

│“

────────┘”

//经理表 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

│姓名

│性别

│年龄

│工资

│”

for(i=0;i

││“

} outfile

//经理表

outfile

outfile

outfile

│姓名

│性别

│年龄

│工资

│”

for(g=0;g

{

outfile

outfile

││“

outfile

//销售经理表 outfile

outfile

outfile

│姓名

│性别

│年龄

│工资

│所属部门经理编号│”

for(i=0;i

│”

┴────────┘“

//经理表

outfile

case '5':cout

cout

否:2”>a;if(a==1)exit(5);break;

default :cout

} return 0;} }

四、运行结果

数据备份内容…………………………………………….1.从键盘输入1,按回车键,可进行各类数据的输入,此步骤必须执行; 2.从键盘输入2,按回车键,即可进行数据统计,得到统计列表; 3.从键盘输入3,按回车键,可打印出各类成员的基本信息; 4.从键盘输入4,按回车键,可进行数据备份;

5.从键盘输入5,按回车键,出现提示信息,若退出系统输入1否则输入2。

六、总结及心得体会

从9月2号,我们开始了为期一周的C++程序设计实习——《小型工资管理系统》,每天下午去机房调试程序,上午编写下一天的程序代码。

刚开始的时候,脑袋里一点思路都没有,因为以前没有接触过这么大的程序。所以刚开始的时候,心里只有一个字能形容就是怕。怕自己便不好,怕这门课程完成不了,很多很多。去做一件事情,最忌讳的就是这一点。失败者和成功者最大的区别就是面对困难时的心态,我深知这一点。所以,我沉下心来思考了很多。做一个程序,最重要的就是大体思路,得有全局的思考,我承认,这一点我做的不是很好,因为我第2天的程序做了大改动,也许是我基本功不扎实,但是我所能想到的就是大改动了,可能有其他简便的方法,所以这对于我而言,是一个重大的警告。在第二天的晚上,我花了一晚的时间来重新整理思路,以防止在接下来的几天里再出现那样的错误,那就很让人纠结了。第1天时完成数据的输入以及类的设计。这个还不是很难,就是定义一个基类employee,然后派生下来几个子类。然后在类内编写返回值的函数,以及数据输入的函数等等,数据成员都设置成protected。在类外在编几个数组,用来调用类内函数。

第2天是完成数据统计,排序功能。排序的话用冒泡法,用数组进行数据的排序。但是问题出现了,第一天我是把输入功能独立变成一个void函数在主函数前面的,但是我发现数据无法存储下来。所以第2天我就把第一步的内容全改了,搬到了类内,这样才解决了问题。

第三天时完成数据的输出显示,这个地方的难点就是设计表格,这个就涉及到了那个输入内容宽度的设计,以及制表键盘的。然后数据的输出就是在主函数内定义类对象数组,以此来实现数据的调用。

然后剩下的就是备份以及推出功能的实现了。这些都是在网上查了相关资料然后学会如何编写的,刚开始觉得很深奥,学了之后,就觉得,嗯,还行。所以其他的任务在半天内就完成了。看着自己编出的程序,真心觉得一切都值了,很有成就感的样子,我想这就是编程员的欢喜吧。整个实习过程让我明白了几点:

1.设计一个程序时需要从整体考虑,不能分散到最后结合不到一起; 2.有些貌似简单的功能的实现其程序实现不一定简单,但也不能畏首畏尾,不敢尝试,要勇于挑战自己,相信自己一定可以; 3.

1.需要具有刻苦钻研的精神,注意总结,遇到问题认真思考,力求得到结果; 2.同时也不能忽略团队的力量,遇到实在个人解决不了的问题可以通过与同学商量解决,并且结合别人和自己的观点,从多方面考虑,在众多方案中找出最优化的;

3.遇到一些问题时要有耐心进行更正,因为可能有时候一个很小的错误会导致整个程序运行失常。

我感觉这一周的实习非常充实,谢谢这一周给我指导的老师,以及各位同学的陪伴。

C++程序设计总结

第一章面向对象编程原理近五十年间,软件技术经历了多个阶段的发展演变  目前为止最流行的技术还是面向过程编程(POP) 面向过程编程采用了自顶向下的设计方案,问题被看做多个执......

《C++程序设计》实验报告

注意:以下蓝色文字部分根据情况增删实验1熟悉VC++6.0集成开发环境一、实验时间:2011年9月20日二、实验地点:第7机房三、指导教师:邓谱四、实验目的:1.了解VC++6.0的主要特点;2.熟......

c++程序设计教案(朱红)

1构造一个类,含有3个数据成员,为长方体的长、宽、高,含有一个成员函数,用来计算长方体的体积 #include "stdafx.h" #include cla cub { private: double a,b,c; public: voi......

C++程序设计word简历下载

C++程序设计word简历下载在一份个人简历上即便是针对招聘要求来写,也必然存在很多方面的个人主观意识。以此在个人简历上也必然存在一些有重点的部分,以及非重点的部分。在写......

C++可视化程序设计实践要求

C/C++可视化程序设计实践安排一、课程设计任务1.学生成绩管理系统2.图书管理系统3.通讯录管理系统4.自选对于管理系统要求程序必备如下功能:(1)所有记录保存在一个数据文件中;(2)......

下载C++程序设计实习报告word格式文档
下载C++程序设计实习报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文