云文档网 - 专业文章范例文档资料分享平台

c++程序毕业实习报告

来源:网络收集 时间:2024-05-06 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第一篇:c++程序毕业实习报告

针对我们这学期学的c++,假期进行了五天的实习。第一天听老师讲实习内容和提示的时候觉得思路挺明确的一个程序,哪有传说中的那么难。下午和同学讨论的时候觉得很有目的,只要按部就班的完成各步操作就可以了,有难度的也只是第二步。这一步要进行判断,这就需要多个输出函数;还要冒泡法给工作排序,工资的计算不是在类中完成的——挺棘手的一个问题。

第二天上机的时候也很快完成了第一步,觉得还行,慢慢来五天完全可以完成。后来也就没怎么好好思考,没想到第二天遇到麻烦了,编不出第二步了。第三天下午也没调试好,第一步输入的数据在第二步统计的时候怎么也数不出来,我从头至尾研究了多次,没发现一点问题,请舍友帮我检查也说没错,到了傍晚还是看不出来。哎!又找一个人给我看了看,竟然错得那么幼稚,类外定义了全局对象,在数据输入put()函数里又重新定义了对象,这样在put()输入的数据无法用到其他函数中,自然统计的时候都是默认值了。

就这么一个小小的错误整得我一天一晚上寝食难安。

编程序时深深感受到要不得半点马虎,有时少一个“}”或“<”都会导致程序语法错误;由于编程序经常要变换输入法,很容易输进中文字符,这也会导致语法错误;调用类里重名函数时要注明属于哪个类的。

第三天的时候第二步基本都编出来了,傍晚那时我没检查出错误来的时候,实在是把我急坏了,借了台电脑,在那安静专心的研究程序,舍友帮我检查出错误来之后,编程序有了感觉,那时已经22:00多了,竟然没有一丝睡意。

后来舍友们陆续睡觉了,可我就是不愿睡。可能是出于自尊心需要,别人都编出来了,自己编不出来,让我无法接受;也可能是第二步出来了急于尽快搞定。从19:00到凌晨4:00一直在那儿编程序了,一次次地听到铃声响竟然没有上床睡觉的冲动,满脑袋只有一个想法:认真编程序,争取晚上搞定。后来差不多了,只有备份不怎么完善,当时电脑已经用了好长时间了,实在不忍心一直用人家的电脑,只好关机睡觉了。

这几天可以说是两耳不闻窗外事,一心只顾编程序了,电话都懒得打,只想尽快把程序搞定,晚上没有电脑用,我们三个女生就去网吧,只是那儿没有vusual-c++,只好作罢。

虽然我们一直在编程序,觉得挺累的,其实还有比我们更累的——我们的老师。我们是每天只有半天的实习时间,可是老师却整天在机房里,看得出来,老师连坐下休息的时间都没有,刚要喝点水,立马就被一个同学叫去了,实习完那天下午看见老师都不想走路了。太累了,一天站7小时,还一直给别人检查程序,太忙了。想想老师这么认真,我们还有什么理由不认真呢?

只有五天的实习,却让我受益匪浅:这不仅是一次对我们的c++掌握和运用的熟练程度的检查,更是一次磨练我们耐性、培养认真态度的机会。这次实习让我深刻体会到“细节决定成败,态度决定一切”;更让我从老师身上学到了很多在以后工作中需要的优秀品质。相信这会在我今后的学习和以后的工作很有帮助。

通过完成本次面向对象程序设计的任务,使我熟练和掌握了上学期所学的有关visual c++中的一些主要知识点和应用点,如类的定义,类的实现,对象的定义,类的继承等等。可以所学有所学,所有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。

第一天上课时候听老师讲,第一反应是这可怎么做了。当时有些迷茫。但是事在人为,下午回去之后在宿舍苦心研究,终于在整体上有了一定的把握。我们可以先定义一个基类,再派生三个子类,然后在类外定义函数。有人数规定,我们就定义相应长度的对象数组,最后在实现程序功能时,用函数调用就行。

于是当晚很快就完成了第二天的预习报告,上机调试时也没什么大问题,就这样第二天顺利通过。

虽说接下来的统计没那么容易,但就顺着数据顺利输入的喜悦心情,我还是较好的完成了这个任务。在类外定义一个函数用来输出雇员的基本情况,表头,表尾直接在统计函数中输出,也就是在统计函数中调用函数。打印与统计有异曲同工之妙,所以在统计做出之后,打印自然而然的也就很快完成了。

接下来的数据备份中,遇到了一个小问题,一开始以为也是函数中调用打印函数中用的那函数。其实不然,如若那样,又变成了打印。那我们就直接输出,但详细资料是受保护的,不能直接输出,那还得调用函数。于是在每个类中的公共成员中定义了直接返回的函数,接下来顺利完成了备份。调用头文件<process.h>里的exit(int)函数,可以用if()语句进行判断是否确定退出。程序顺利完成。

面向对象程序设计作为一门软件设计的课程,具有极强的实践性,使我加强了灵活应用理论知识的能力及面向对象程序设计技能。

此次,应用程序的设计和创建,经历了平时在课堂中和考试中,决不会有的重重难题和问题。而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。这些问题,并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。

当然,此次任务的完成,也体现出同学之间的团结精神。所遇种种难以解决的问题,大家都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。

第二篇:c++程序毕业实习报告

针对我们这学期学的c++,假期进行了五天的实习。第一天听老师讲实习内容和提示的时候觉得思路挺明确的一个程序,哪有传说中的那么难。下午和同学讨论的时候觉得很有目的,只要按部就班的完成各步操作就可以了,有难度的也只是第二步。这一步要进行判断,这就需要多个输出函数;还要冒泡法给工作排序,工资的计算不是在类中完成的——挺棘手的一个问题。

第二天上机的时候也很快完成了第一步,觉得还行,慢慢来五天完全可以完成。后来也就没怎么好好思考,没想到第二天遇到麻烦了,编不出第二步了。第三天下午也没调试好,第一步输入的数据在第二步统计的时候怎么也数不出来,我从头至尾研究了多次,没发现一点问题,请舍友帮我检查也说没错,到了傍晚还是看不出来。哎!又找一个人给我看了看,竟然错得那么幼稚,类外定义了全局对象,在数据输入put()函数里又重新定义了对象,这样在put()输入的数据无法用到其他函数中,自然统计的时候都是默认值了。

就这么一个小小的错误整得我一天一晚上寝食难安。

编程序时深深感受到要不得半点马虎,有时少一个“}”或“<”都会导致程序语法错误;由于编程序经常要变换输入法,很容易输进中文字符,这也会导致语法错误;调用类里重名函数时要注明属于哪个类的。

第三天的时候第二步基本都编出来了,傍晚那时我没检查出错误来的时候,实在是把我急坏了,借了台电脑,在那安静专心的研究程序,舍友帮我检查出错误来之后,编程序有了感觉,那时已经22:00多了,竟然没有一丝睡意。

后来舍友们陆续睡觉了,可我就是不愿睡。可能是出于自尊心需要,别人都编出来了,自己编不出来,让我无法接受;也可能是第二步出来了急于尽快搞定。从19:00到凌晨4:00一直在那儿编程序了,一次次地听到铃声响竟然没有上床睡觉的冲动,满脑袋只有一个想法:认真编程序,争取晚上搞定。后来差不多了,只有备份不怎么完善,当时电脑已经用了好长时间了,实在不忍心一直用人家的电脑,只好关机睡觉了。

这几天可以说是两耳不闻窗外事,一心只顾编程序了,电话都懒得打,只想尽快把程序搞定,晚上没有电脑用,我们三个女生就去网吧,只是那儿没有vusual-c++,只好作罢。

虽然我们一直在编程序,觉得挺累的,其实还有比我们更累的——我们的老师。我们是每天只有半天的实习时间,可是老师却整天在机房里,看得出来,老师连坐下休息的时间都没有,刚要喝点水,立马就被一个同学叫去了,实习完那天下午看见老师都不想走路了。太累了,一天站7小时,还一直给别人检查程序,太忙了。想想老师这么认真,我们还有什么理由不认真呢?

只有五天的实习,却让我受益匪浅:这不仅是一次对我们的c++掌握和运用的熟练程度的检查,更是一次磨练我们耐性、培养认真态度的机会。这次实习让我深刻体会到“细节决定成败,态度决定一切”;更让我从老师身上学到了很多在以后工作中需要的优秀品质。相信这会在我今后的学习和以后的工作很有帮助。

通过完成本次面向对象程序设计的任务,使我熟练和掌握了上学期所学的有关visual c++中的一些主要知识点和应用点,如类的定义,类的实现,对象的定义,类的继承等等。可以所学有所学,所有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。

第一天上课时候听老师讲,第一反应是这可怎么做了。当时有些迷茫。但是事在人为,下午回去之后在宿舍苦心研究,终于在整体上有了一定的把握。我们可以先定义一个基类,再派生三个子类,然后在类外定义函数。有人数规定,我们就定义相应长度的对象数组,最后在实现程序功能时,用函数调用就行。

于是当晚很快就完成了第二天的预习报告,上机调试时也没什么大问题,就这样第二天顺利通过。

虽说接下来的统计没那么容易,但就顺着数据顺利输入的喜悦心情,我还是较好的完成了这个任务。在类外定义一个函数用来输出雇员的基本情况,表头,表尾直接在统计函数中输出,也就是在统计函数中调用函数。打印与统计有异曲同工之妙,所以在统计做出之后,打印自然而然的也就很快完成了。

接下来的数据备份中,遇到了一个小问题,一开始以为也是函数中调用打印函数中用的那函数。其实不然,如若那样,又变成了打印。那我们就直接输出,但详细资料是受保护的,不能直接输出,那还得调用函数。于是在每个类中的公共成员中定义了直接返回的函数,接下来顺利完成了备份。调用头文件<process.h>里的exit(int)函数,可以用if()语句进行判断是否确定退出。程序顺利完成。

面向对象程序设计作为一门软件设计的课程,具有极强的实践性,使我加强了灵活应用理论知识的能力及面向对象程序设计技能。

此次,应用程序的设计和创建,经历了平时在课堂中和考试中,决不会有的重重难题和问题。而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。这些问题,并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。

当然,此次任务的完成,也体现出同学之间的团结精神。所遇种种难以解决的问题,大家都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。

第三篇:c++程序实习报告

针对我们这学期学的c++,假期进行了五天的实习。第一天听老师讲实习内容和提示的时候觉得思路挺明确的一个程序,哪有传说中的那么难。下午和同学讨论的时候觉得很有目的,只要按部就班的完成各步操作就可以了,有难度的也只是第二步。这一步要进行判断,这就需要多个输出函数;还要冒泡法给工作排序,工资的计算不是在类中完成的——挺棘手的一个问题。

第二天上机的时候也很快完成了第一步,觉得还行,慢慢来五天完全可以完成。后来也就没怎么好好思考,没想到第二天遇到麻烦了,编不出第二步了。第三天下午也没调试好,第一步输入的数据在第二步统计的时候怎么也数不出来,我从头至尾研究了多次,没发现一点问题,请舍友帮我检查也说没错,到了傍晚还是看不出来。哎!又找一个人给我看了看,竟然错得那么幼稚,类外定义了全局对象,在数据输入put()函数里又重新定义了对象,这样在put()输入的数据无法用到其他函数中,自然统计的时候都是默认值了。

就这么一个小小的错误整得我一天一晚上寝食难安。

编程序时深深感受到要不得半点马虎,有时少一个“}”或“<”都会导致程序语法错误;由于编程序经常要变换输入法,很容易输进中文字符,这也会导致语法错误;调用类里重名函数时要注明属于哪个类的。

第三天的时候第二步基本都编出来了,傍晚那时我没检查出错误来的时候,实在是把我急坏了,借了台电脑,在那安静专心的研究程序,舍友帮我检查出错误来之后,编程序有了感觉,那时已经22:00多了,竟然没有一丝睡意。

后来舍友们陆续睡觉了,可我就是不愿睡。可能是出于自尊心需要,别人都编出来了,自己编不出来,让我无法接受;也可能是第二步出来了急于尽快搞定。从19:00到凌晨4:00一直在那儿编程序了,一次次地听到铃声响竟然没有上床睡觉的冲动,满脑袋只有一个想法:认真编程序,争取晚上搞定。后来差不多了,只有备份不怎么完善,当时电脑已经用了好长时间了,实在不忍心一直用人家的电脑,只好关机睡觉了。

这几天可以说是两耳不闻窗外事,一心只顾编程序了,电话都懒得打,只想尽快把程序搞定,晚上没有电脑用,我们三个女生就去网吧,只是那儿没有vusual-c++,只好作罢。

虽然我们一直在编程序,觉得挺累的,其实还有比我们更累的——我们的老师。我们是每天只有半天的实习时间,可是老师却整天在机房里,看得出来,老师连坐下休息的时间都没有,刚要喝点水,立马就被一个同学叫去了,实习完那天下午看见老师都不想走路了。太累了,一天站7小时,还一直给别人检查程序,太忙了。想想老师这么认真,我们还有什么理由不认真呢?

只有五天的实习,却让我受益匪浅:这不仅是一次对我们的c++掌握和运用的熟练程度的检查,更是一次磨练我们耐性、培养认真态度的机会。这次实习让我深刻体会到“细节决定成败,态度决定一切”;更让我 从 老师身上学到了很多在以后工作中需要的优秀品质。相信这会在我今后的学习和以后的工作很有帮助。

通过完成本次面向对象程序设计的任务,使我熟练和掌握了上学期所学的有关visual c++中的一些主要知识点和应用点,如类的定义,类的实现,对象的定义,类的继承等等。可以所学有所学,所有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。

第一天上课时候听老师讲,第一反应是这可怎么做了。当时有些迷茫。但是事在人为,下午回去之后在宿舍苦心研究,终于在整体上有了一定的把握。我们可以先定义一个基类,再派生三个子类,然后在类外定义函数。有人数规定,我们就定义相应长度的对象数组,最后在实现程序功能时,用函数调用就行。

于是当晚很快就完成了第二天的预习报告,上机调试时也没什么大问题,就这样第二天顺利通过。

虽说接下来的统计没那么容易,但就顺着数据顺利输入的喜悦心情,我还是较好的完成了这个任务。在类外定义一个函数用来输出雇员的基本情况,表头,表尾直接在统计函数中输出,也就是在统计函数中调用函数。打印与统计有异曲同工之妙,所以在统计做出之后,打印自然而然的也就很快完成了。

接下来的数据备份中,遇到了一个小问题,一开始以为也是函数中调用打印函数中用的那函数。其实不然,如若那样,又变成了打印。那我们就直接输出,但详细资料是受保护的,不能直接输出,那还得调用函数。于是在每个类中的公共成员中定义了直接返回的函数,接下来顺利完成了备份。调用头文件里的exit(int)函数,可以用if()语句进行判断是否确定退出。程序顺利完成。

面向对象程序设计作为一门软件设计的课程,具有极强的实践性,使我加强了灵活应用理论知识的能力及面向对象程序设计技能。

此次,应用程序的设计和创建,经历了平时在课堂中和考试中,决不会有的重重难题和问题。而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。这些问题,并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。

当然,此次任务的完成,也体现出同学之间的团结精神。所遇种种难以解决的问题,大家都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。

第四篇: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; class employee

//基类,雇佣者 { protected:

string name; char sex; int age; public:

virtual void display()

{

cout<<"其姓名:";

cin>>name; cout<<"性别(m/w):"; cin>>sex; cout<<"年龄:";

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

// class technician: public employee

//技术员类 { public:

int worktime; int number1; public:

void display1()

{

} int time(){return worktime;} int numb1(){return number1;} cout<<"技术员的编号:"; cin>>number1; employee::display(); cout<<"工作时间"; cin>>worktime; };

// class manager : public employee

//经理类 {protected:

int number2;

public:

void display2() {

} int numb2(){return number2;} cout<<"经理的编号:"; cin>>number2; employee::display(); };

// class salesman : public employee

//销售员类 { protected:

int total; int boss; int number3; public:

};

//

class salesmanager : public manager

//销售经理类 {protected:

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

cout<<"销售员的编号:"; cin>>number3; employee::display();

cout<<"销售额:";

} int hismanager(){return boss;} int xiaoshoue(){return total;} int numb3(){return number3;} cin>>total; cout<<"所属销售经理的编号:"; cin>>boss;

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<2*N;i++)

s1[i].display3(); cout<<"......................................."<

for(i=0;i

sm1[i].display4(); cout<<"......................................."<

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

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<<"│销售额总计│"<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<(2*N);i++) { 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<<"│职工号

│姓名

│性别

│年龄

│工资

│"<

for(i=0;i

"<

"<

││"<

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

//经理表

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

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

outfile<<"│职工号

│姓名

│性别

│年龄

│工资

│"<

for(g=0;g

{

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

outfile<<"

"<

"<

││"<

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

//销售经理表 outfile<<"销售员"<

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

outfile<<"│职工号

│姓名

│性别

│年龄

│工资

│所属部门经理编号│"<

for(i=0;i<(2*N);i++) { outfile<<"├─────┼────┼────┼────┼────┼────────┤"<

"<

│"<

┴────────┘"<

//经理表

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

case '5':cout<<"确定退出系统吗?"<

cout<<"是:1,

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

default :cout<<"error"<

} 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语言程序设计实习报告程序

#include "stdio.h" /*定义学生结构体*/ struct Student {

char ID[20];

char Name[20];

float Mark1; /*计算机*/

float Mark2; /*英语*/

float Mark3; /*数学*/

float Zongfen; /*总分*/

float Average;}; /*平均分*/ /*声明学生数组及学生数量*/ struct Student students[2000]; int num=0; /*求总分*/ float Zong(struct Student stu) { return(stu.Mark1+stu.Mark2+stu.Mark3); } /*求平均值*/ float Avg(struct Student stu) {return (stu.Mark1+stu.Mark2+stu.Mark3)/3;} /*通过学号返回数组下标*/ int Student_SearchByIndex(char id[]) {

int i;

for (i=0;i

int i;

for (i=0;i

{if (strcmp(students[i].Name,name)==0)

{return i;}}

return -1;}

/*通过学号返回数组下标*/ int Student_SearchID(char id[]){

int i;

for (i=0;i

{if (strcmp(students[i].ID,id)==0)

{return i;}}

return -1;} /*显示单条学生记录*/ void Student_DisplaySingle(int index) {printf("%10s%10s%8s%8s%8s%8s%10s\n","学号","姓名","计算机","英语","数学","总分","平均成绩"); printf("------------------------------\n"); printf("%10s%10s%8.0f%8.0f%8.0f%8.0f%10.2f\n",students[index].ID,students[index].Name, students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Zongfen,students[index].Average); }void Student_DisplaySingle1(int index) {printf("------------------------------\n"); printf("%10s%10s%8.0f%8.0f%8.0f%8.0f%10.2f\n",students[index].ID,students[index].Name, students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Zongfen,students[index].Average); } /*插入学生信息*/ void Student_Insert() {while(1) {printf("请输入学号:");scanf("%s",&students[num].ID);getchar(); printf("请输入姓名:");scanf("%s",&students[num].Name);getchar(); printf("请输入计算机成绩:");scanf("%f",&students[num].Mark1);getchar(); printf("请输入英语成绩:");scanf("%f",&students[num].Mark2);getchar(); printf("请输入数学成绩:");scanf("%f",&students[num].Mark3);getchar();

students[num].Average=Avg(students[num]);

students[num].Zongfen=Zong(students[num]);

num++;

printf("是否继续?(y/n)");

if (getchar()=='n'){break;} }} void exit() ; /*修改学生信息*/ void Student_Modify() {

float mark1,mark2,mark3;

while(1)

{

char id[20];

int index;

printf("请输入要修改的学生的学号:");

scanf("%s",&id);

getchar();

index=Student_SearchByIndex(id);

if (index==-1)

{

printf("学生不存在!\n");

}

else

{

printf("你要修改的学生信息为:\n");

Student_DisplaySingle(index);

printf("-- 请输入新值--\n");

printf("请输入学号:");

scanf("%s",&students[index].ID);

getchar();

printf("请输入姓名:");

scanf("%s",&students[index].Name);

getchar();

printf("请输入成绩:");

scanf("%f",&students[index].Mark1);

getchar();

printf("请输入成绩:");

scanf("%f",&students[index].Mark2);

getchar();

printf("请输入成绩:");

scanf("%f",&students[index].Mark3);

getchar();

students[index].Zongfen=Zong(students[index]);

students[index].Average=Avg(students[index]);

printf("是否继续?(y/n)");

if (getchar()=='n')

{

break;

}

} } /*删除学生信息*/

void Student_Delete() {

int i;

while(1)

{

char id[20];

int index;

printf("请输入要删除的学生的学号:");

scanf("%s",&id);

}

getchar();

index=Student_SearchByIndex(id);

if (index==-1)

{

printf("学生不存在!\n");

}

else

{

printf("你要删除的学生信息为:\n");

Student_DisplaySingle(index);

printf("是否真的要删除?(y/n)");

if (getchar()=='y')

{

for (i=index;i

{

students[i]=students[i+1];

}

num--;

}

getchar();

}

printf("是否继续?(y/n)");

if (getchar()=='n')

{

break;

}

} } /*按姓名或学号查询*/ void Student_Select() {

int sel;

printf("1--------------------按姓名查询\n");

printf("2--------------------按学号查询\n");

scanf("%d",&sel);

if(sel==2){

while(1)

{

char id[20];

int index;

printf("请输入要查询的学生的学号:");

scanf("%s",&id);

getchar();

index=Student_SearchID(id);

if (index==-1)

{

printf("学生不存在!\n");

}

else

{

printf("你要查询的学生信息为:\n");

Student_DisplaySingle(index);

}

printf("是否继续?(y/n)");

if (getchar()=='n')

{

break;

}

}}else if (sel==1)

{while(1)

{

char name[20];

int index;

printf("请输入要查询的学生的姓名:");

scanf("%s",&name);

getchar();

index=Student_SearchByName(name);

if (index==-1)

{

printf("学生不存在!\n");

}

else

{

printf("你要查询的学生信息为:\n");

Student_DisplaySingle(index);

}

printf("是否继续?(y/n)");

if (getchar()=='n')

{

break;

}

}}

else printf("信息错误!\n"); } /*排序*/ void Student_SortByAverage() {

int a,sel;

printf("1--------------------按学号排序\n");

printf("2--------------------按姓名排序\n");

printf("3--------------------按计算机排序\n");

printf("4--------------------按英语排序\n");

printf("5--------------------按数学排序\n");

printf("6--------------------按总分排序\n");

printf("7--------------------按平均分排序\n");

scanf("%d",&sel);

if(sel==1)

{int i,j;

struct Student tmp;

for (i=0;i

{

for (j=1;j

{

if (strcmp(students[j-1].ID,students[j].ID)>0)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}}

else if(sel==2)

{int i,j;

struct Student tmp;

for (i=0;i

{

for (j=1;j

{

if (strcmp(students[j-1].Name,students[j].Name)>0)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}}

else if(sel==3)

{int i,j;

struct Student tmp;

for (i=0;i

{

for (j=1;j

{

if (students[j-1].Mark1>students[j].Mark1)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}}

else if(sel==4)

{int i,j;

struct Student tmp;

for (i=0;i

{

for (j=1;j

{

if (students[j-1].Mark2>students[j].Mark2)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}}

else if(sel==5)

{int i,j;

struct Student tmp;

for (i=0;i

{

for (j=1;j

{

if (students[j-1].Mark3>students[j].Mark3)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}}

else if(sel==6)

{int i,j;

struct Student tmp;

for (i=0;i

{

for (j=1;j

{

if (students[j-1].Zongfen>students[j].Zongfen)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}}

else if(sel==7)

{int i,j;

struct Student tmp;

for (i=0;i

{

for (j=1;j

{

if (students[j-1].Average>students[j].Average)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}}

else printf("信息错误!\n"); } /*显示学生信息*/ void Student_Display() {

int i;

printf("%10s%10s%8s%8s%8s%8s%10s\n","学号","姓名","计算机","英语","数学","总分","平均成绩");

printf("------------------------------\n");

for (i=0;i

{

printf("%10s%10s%8.0f%8.0f%8.0f%8.0f%10.2f\n",students[i].ID,students[i].Name,

students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Zongfen,students[i].Average);

} } /*将学生信息从文件读出*/ void IO_ReadInfo() {

FILE *fp;

int i;

if ((fp=fopen("Database.txt","rb"))==NULL)

{

printf("不能打开文件!\n");

return;

}

if (fread(&num,sizeof(int),1,fp)!=1)

{

num=-1;

}

else

{

for(i=0;i

{

fread(&students[i],sizeof(struct Student),1,fp);

}

}

fclose(fp); } /*将学生信息写入文件*/ void IO_WriteInfo() {

FILE *fp;

int i;

if ((fp=fopen("Database.txt","wb"))==NULL)

{

printf("不能打开文件!\n");

return;

}

if (fwrite(&num,sizeof(int),1,fp)!=1)

{

printf("写入文件错误!\n");

}

for (i=0;i

{

if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1)

{

printf("写入文件错误!\n");

}

}

fclose(fp); } /*统计不同分数段的学生*/ void Student_TJ() {

while(1)

{

int a,sel;

float m,n;

printf("1--------------------按计算机统计不同分数段的学生\n");

printf("2--------------------按英语统计不同分数段的学生\n");

printf("3--------------------按数学统计不同分数段的学生\n");

printf("4--------------------按总分统计不同分数段的学生\n");

printf("5--------------------按平均分统计不同分数段的学生\n");

scanf("%d",&sel);

printf("输入所需查询的分数段[m,n]");

scanf("%f%f",&m,&n);

printf("%10s%10s%8s%8s%8s%8s%10s\n","学号","姓名","计算机","英语","数学","总分","平均成绩");

if(sel==1)

{int j;

for (j=0;j<=num;j++)

{

if (students[j].Mark1>=m&&students[j].Mark1<=n)

Student_DisplaySingle1(j);

}}

else if(sel==2)

{int j;

for (j=0;j<=num;j++)

{

if (students[j].Mark2>=m&&students[j].Mark2<=n)

Student_DisplaySingle1(j);

}}

else if(sel==3)

{int j;

for (j=0;j<=num;j++)

{

if (students[j].Mark3>=m&&students[j].Mark3<=n)

Student_DisplaySingle1(j);

}}else if(sel==4)

{int j;

for (j=0;j<=num;j++)

{

if (students[j].Zongfen>=m&&students[j].Zongfen<=n)

Student_DisplaySingle1(j);

}}else if(sel==5)

{int j;

for (j=0;j<=num;j++)

{

if (students[j].Average>=m&&students[j].Average<=n)

Student_DisplaySingle1(j);

}}

else printf("信息错误!\n");

printf("是否继续?(y/n)");

a=getchar();

if (getchar()=='n'){break;} } } /*主程序*/ main() { int choice;

IO_ReadInfo();

fflush(stdin); while(1)

{ /*主菜单*/ printf("

~~~~~~~~~~~~~~~~~~~~~&欢迎进入学生成绩管理系统&~~~~~~~~~~~~~~~~~~~~~ \n"); printf("

*

1. 输入学生记录

*\n"); printf("

*

2. 添加学生记录

*\n"); printf("

*

3. 修改学生记录

*\n"); printf("

*

4. 删除学生记录

*\n"); printf("

*

5. 按姓名或学号查询学生记录

*\n"); printf("

*

6. 排序

*\n"); printf("

*

7. 统计不同分数段的学生

*\n"); printf("

*

8. 输出学生记录

*\n"); printf("

*

9. 退出

*\n"); printf("

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \n"); printf("

请选择(1-9):"); scanf("%d",&choice); getchar(); switch(choice){ case 1:Student_Insert();break; case 2:Student_Insert();break; case 3:Student_Modify();break; case 4:Student_Delete();break; case 5:Student_Select();break; case 6:Student_SortByAverage();Student_Display();break; case 7:Student_TJ();break; case 8:Student_Display();break;} IO_WriteInfo();

} }

百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典文秘工作c++程序毕业实习报告在线全文阅读。

c++程序毕业实习报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.yundocx.com/gongzuo/1199461.html(转载请注明文章来源)
Copyright © 2018-2022 云文档网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219