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.遇到一些问题时要有耐心进行更正,因为可能有时候一个很小的错误会导致整个程序运行失常。
我感觉这一周的实习非常充实,谢谢这一周给我指导的老师,以及各位同学的陪伴。
第一章面向对象编程原理近五十年间,软件技术经历了多个阶段的发展演变 目前为止最流行的技术还是面向过程编程(POP) 面向过程编程采用了自顶向下的设计方案,问题被看做多个执......
注意:以下蓝色文字部分根据情况增删实验1熟悉VC++6.0集成开发环境一、实验时间:2011年9月20日二、实验地点:第7机房三、指导教师:邓谱四、实验目的:1.了解VC++6.0的主要特点;2.熟......
1构造一个类,含有3个数据成员,为长方体的长、宽、高,含有一个成员函数,用来计算长方体的体积 #include "stdafx.h" #include cla cub { private: double a,b,c; public: voi......
C++程序设计word简历下载在一份个人简历上即便是针对招聘要求来写,也必然存在很多方面的个人主观意识。以此在个人简历上也必然存在一些有重点的部分,以及非重点的部分。在写......
C/C++可视化程序设计实践安排一、课程设计任务1.学生成绩管理系统2.图书管理系统3.通讯录管理系统4.自选对于管理系统要求程序必备如下功能:(1)所有记录保存在一个数据文件中;(2)......