第一篇:c++程序毕业实习报告
针对我们这学期学的c++,假期进行了五天的实习。第一天听老师讲实习内容和提示的时候觉得思路挺明确的一个程序,哪有传说中的那么难。下午和同学讨论的时候觉得很有目的,只要按部就班的完成各步操作就可以了,有难度的也只是第二步。这一步要进行判断,这就需要多个输出函数;还要冒泡法给工作排序,工资的计算不是在类中完成的——挺棘手的一个问题。
第二天上机的时候也很快完成了第一步,觉得还行,慢慢来五天完全可以完成。后来也就没怎么好好思考,没想到第二天遇到麻烦了,编不出第二步了。第三天下午也没调试好,第一步输入的数据在第二步统计的时候怎么也数不出来,我从头至尾研究了多次,没发现一点问题,请舍友帮我检查也说没错,到了傍晚还是看不出来。哎!又找一个人给我看了看,竟然错得那么幼稚,类外定义了全局对象,在数据输入put()函数里又重新定义了对象,这样在put()输入的数据无法用到其他函数中,自然统计的时候都是默认值了。
就这么一个小小的错误整得我一天一晚上寝食难安。
编程序时深深感受到要不得半点马虎,有时少一个“}”或“<”都会导致程序语法错误;由于编程序经常要变换输入法,很容易输进中文字符,这也会导致语法错误;调用类里重名函数时要注明属于哪个类的。
第三天的时候第二步基本都编出来了,傍晚那时我没检查出错误来的时候,实在是把我急坏了,借了台电脑,在那安静专心的研究程序,舍友帮我检查出错误来之后,编程序有了感觉,那时已经22:00多了,竟然没有一丝睡意。
后来舍友们陆续睡觉了,可我就是不愿睡。可能是出于自尊心需要,别人都编出来了,自己编不出来,让我无法接受;也可能是第二步出来了急于尽快搞定。从19:00到凌晨4:00一直在那儿编程序了,一次次地听到铃声响竟然没有上床睡觉的冲动,满脑袋只有一个想法:认真编程序,争取晚上搞定。后来差不多了,只有备份不怎么完善,当时电脑已经用了好长时间了,实在不忍心一直用人家的电脑,只好关机睡觉了。
这几天可以说是两耳不闻窗外事,一心只顾编程序了,电话都懒得打,只想尽快把程序搞定,晚上没有电脑用,我们三个女生就去网吧,只是那儿没有vusual-c++,只好作罢。
虽然我们一直在编程序,觉得挺累的,其实还有比我们更累的——我们的老师。我们是每天只有半天的实习时间,可是老师却整天在机房里,看得出来,老师连坐下休息的时间都没有,刚要喝点水,立马就被一个同学叫去了,实习完那天下午看见老师都不想走路了。太累了,一天站7小时,还一直给别人检查程序,太忙了。想想老师这么认真,我们还有什么理由不认真呢?
只有五天的实习,却让我受益匪浅:这不仅是一次对我们的c++掌握和运用的熟练程度的检查,更是一次磨练我们耐性、培养认真态度的机会。这次实习让我深刻体会到“细节决定成败,态度决定一切”;更让我从老师身上学到了很多在以后工作中需要的优秀品质。相信这会在我今后的学习和以后的工作很有帮助。
通过完成本次面向对象程序设计的任务,使我熟练和掌握了上学期所学的有关visual c++中的一些主要知识点和应用点,如类的定义,类的实现,对象的定义,类的继承等等。可以所学有所学,所有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。
第一天上课时候听老师讲,第一反应是这可怎么做了。当时有些迷茫。但是事在人为,下午回去之后在宿舍苦心研究,终于在整体上有了一定的把握。我们可以先定义一个基类,再派生三个子类,然后在类外定义函数。有人数规定,我们就定义相应长度的对象数组,最后在实现程序功能时,用函数调用就行。
于是当晚很快就完成了第二天的预习报告,上机调试时也没什么大问题,就这样第二天顺利通过。
虽说接下来的统计没那么容易,但就顺着数据顺利输入的喜悦心情,我还是较好的完成了这个任务。在类外定义一个函数用来输出雇员的基本情况,表头,表尾直接在统计函数中输出,也就是在统计函数中调用函数。打印与统计有异曲同工之妙,所以在统计做出之后,打印自然而然的也就很快完成了。
接下来的数据备份中,遇到了一个小问题,一开始以为也是函数中调用打印函数中用的那函数。其实不然,如若那样,又变成了打印。那我们就直接输出,但详细资料是受保护的,不能直接输出,那还得调用函数。于是在每个类中的公共成员中定义了直接返回的函数,接下来顺利完成了备份。调用头文件
面向对象程序设计作为一门软件设计的课程,具有极强的实践性,使我加强了灵活应用理论知识的能力及面向对象程序设计技能。
此次,应用程序的设计和创建,经历了平时在课堂中和考试中,决不会有的重重难题和问题。而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。这些问题,并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。
当然,此次任务的完成,也体现出同学之间的团结精神。所遇种种难以解决的问题,大家都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。
第二篇:c++程序实习报告
针对我们这学期学的c++,假期进行了五天的实习。第一天听老师讲实习内容和提示的时候觉得思路挺明确的一个程序,哪有传说中的那么难。下午和同学讨论的时候觉得很有目的,只要按部就班的完成各步操作就可以了,有难度的也只是第二步。这一步要进行判断,这就需要多个输出函数;还要冒泡法给工作排序,工资的计算不是在类中完成的——挺棘手的一个问题。
第二天上机的时候也很快完成了第一步,觉得还行,慢慢来五天完全可以完成。后来也就没怎么好好思考,没想到第二天遇到麻烦了,编不出第二步了。第三天下午也没调试好,第一步输入的数据在第二步统计的时候怎么也数不出来,我从头至尾研究了多次,没发现一点问题,请舍友帮我检查也说没错,到了傍晚还是看不出来。哎!又找一个人给我看了看,竟然错得那么幼稚,类外定义了全局对象,在数据输入put()函数里又重新定义了对象,这样在put()输入的数据无法用到其他函数中,自然统计的时候都是默认值了。
就这么一个小小的错误整得我一天一晚上寝食难安。
编程序时深深感受到要不得半点马虎,有时少一个“}”或“<”都会导致程序语法错误;由于编程序经常要变换输入法,很容易输进中文字符,这也会导致语法错误;调用类里重名函数时要注明属于哪个类的。
第三天的时候第二步基本都编出来了,傍晚那时我没检查出错误来的时候,实在是把我急坏了,借了台电脑,在那安静专心的研究程序,舍友帮我检查出错误来之后,编程序有了感觉,那时已经22:00多了,竟然没有一丝睡意。
后来舍友们陆续睡觉了,可我就是不愿睡。可能是出于自尊心需要,别人都编出来了,自己编不出来,让我无法接受;也可能是第二步出来了急于尽快搞定。从19:00到凌晨4:00一直在那儿编程序了,一次次地听到铃声响竟然没有上床睡觉的冲动,满脑袋只有一个想法:认真编程序,争取晚上搞定。后来差不多了,只有备份不怎么完善,当时电脑已经用了好长时间了,实在不忍心一直用人家的电脑,只好关机睡觉了。
这几天可以说是两耳不闻窗外事,一心只顾编程序了,电话都懒得打,只想尽快把程序搞定,晚上没有电脑用,我们三个女生就去网吧,只是那儿没有vusual-c++,只好作罢。
虽然我们一直在编程序,觉得挺累的,其实还有比我们更累的——我们的老师。我们是每天只有半天的实习时间,可是老师却整天在机房里,看得出来,老师连坐下休息的时间都没有,刚要喝点水,立马就被一个同学叫去了,实习完那天下午看见老师都不想走路了。太累了,一天站7小时,还一直给别人检查程序,太忙了。想想老师这么认真,我们还有什么理由不认真呢?
只有五天的实习,却让我受益匪浅:这不仅是一次对我们的c++掌握和运用的熟练程度的检查,更是一次磨练我们耐性、培养认真态度的机会。这次实习让我深刻体会到“细节决定成败,态度决定一切”;更让我 从 老师身上学到了很多在以后工作中需要的优秀品质。相信这会在我今后的学习和以后的工作很有帮助。
通过完成本次面向对象程序设计的任务,使我熟练和掌握了上学期所学的有关visual c++中的一些主要知识点和应用点,如类的定义,类的实现,对象的定义,类的继承等等。可以所学有所学,所有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。
第一天上课时候听老师讲,第一反应是这可怎么做了。当时有些迷茫。但是事在人为,下午回去之后在宿舍苦心研究,终于在整体上有了一定的把握。我们可以先定义一个基类,再派生三个子类,然后在类外定义函数。有人数规定,我们就定义相应长度的对象数组,最后在实现程序功能时,用函数调用就行。
于是当晚很快就完成了第二天的预习报告,上机调试时也没什么大问题,就这样第二天顺利通过。
虽说接下来的统计没那么容易,但就顺着数据顺利输入的喜悦心情,我还是较好的完成了这个任务。在类外定义一个函数用来输出雇员的基本情况,表头,表尾直接在统计函数中输出,也就是在统计函数中调用函数。打印与统计有异曲同工之妙,所以在统计做出之后,打印自然而然的也就很快完成了。
接下来的数据备份中,遇到了一个小问题,一开始以为也是函数中调用打印函数中用的那函数。其实不然,如若那样,又变成了打印。那我们就直接输出,但详细资料是受保护的,不能直接输出,那还得调用函数。于是在每个类中的公共成员中定义了直接返回的函数,接下来顺利完成了备份。调用头文件
里的exit(int)函数,可以用if()语句进行判断是否确定退出。程序顺利完成。
面向对象程序设计作为一门软件设计的课程,具有极强的实践性,使我加强了灵活应用理论知识的能力及面向对象程序设计技能。
此次,应用程序的设计和创建,经历了平时在课堂中和考试中,决不会有的重重难题和问题。而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。这些问题,并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。
当然,此次任务的完成,也体现出同学之间的团结精神。所遇种种难以解决的问题,大家都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。
第三篇:C++程序笔记
一:'CRecordset' : base class undefined
解决方法:在工程的StdAfx.h头文件中添加:#include
二: m_dlg.m_database.Open(_T(“addresslist”));// 这个在编译时会出现错误,解决办法:可以同上:#include
三:建了一个控件,但想在类向导里面定义该控件的函数时找不到控件ID号(原因:是因为修改了主对话框的ID号)
主对话框.h 中把emun{中改成相应的ID_Dlg}
四:设置窗体背景的颜色:
在主窗体APP文件里代码:SetDialogBkColor(RGB(200,223,200),RGB(0,0,255));
五:CAddressDlg::OnClose()
这个函数里面有KillTimer(0).六:连接数据库,m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);//从数据库中查找,输入的密码是否正确
七:当控件在类向导里没有显示其ID号时,将其属性里的组勾选即可~
说明:这里跟三不同
八:不能访问类查看信息文件 解决办法
解决办法为:删除掉目录中clw及ncb文件,再打开,就可以了。
九:当单击右键没看到“Add Windows Message Handler”时,更换.clw/.ncb文件即可
十:单步调试到RefreshData()时总是出现“FROM 语法错误”
解决办法:完成MainDlg()里面的显示工作区表格的代码后,这个问题没有了。
十一:Visual Assist X这是一个软件,可以帮助C++有个更友好的显示界面。
十二:实现窗体的伸缩功能:
OnRadioSearch();SizeWindow();
十三:Address工程里,当点击右边修改记录时,会出现系统报错
解决办法:
对修改记录所需弹出的窗口进行完整,像在类向导里面添加处理各种消息的函数
十四:AboutDlg弹出窗口设计一直说AboutDlg
最后新建了一个CAboutdlg1,并修改源代码,最后功能实现了
初步查找原因:元工程里面缺少的类CAboutDlg定义在AddressDlg.cpp里面,这才是原因,CAboutDlg应该需要定在Aboutdlg.h里面才行~
嗯!验证了,就是这个原因。
其实没有这么复杂:只要按照错误的提示建立自己的类啊、头文件啊、CPP文件就好了~~~
十五:AddInfo窗体录入数据出错:说“姓名一定要填写!然后出现系统错误”解决办法:
一下两个地方的 // NOTE: the ClassWizard will add member initialization here需要填写!!:
1.CAddInfoDlg::CAddInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAddInfoDlg::IDD, pParent)
2.void CAddInfoDlg::DoDataExchange(CDataExchange* pDX)
这里如果缺少1,会出现下面的系统错误:
由于将在索引、主关键字、或关系中创建重复的值,请求对表的改变没有成功。改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。
十六:模糊查询及精确查询均用不了:都显示“请输入关键字”
在差错过程中完整如下代码后出现系统错误
BOOL CMainDlg::PreTranslateMessage(MSG* pMsg)
十七:组合框设置默认值实现不了~
可实现的方法(但是在我的程序里没用!)
//默认“姓名”项被选中
m_ctrlfield.SetCurSel(0);
成功实现,关键:将SetCurSel()函数放在AddString()后面就可以了
十八:当加入DoDataExchange(CDataExchange* pDX)时中的代码时,运行报系统错误,编译没问题,已移植问题文件夹~
相关发现:在定义整形变量时有一种整形变量的description是:
int with validation(FOREIGN VALIABLE)这种变量的定义方法是
在DoDataExchange()函数中使用如下语句:
DDX_FieldText(pDX, IDC_CATNUM, m_pSet2->m_cat, m_pSet2);
当在CTestDBDoc.h文件中申明CMyRSet m_MyRSet;后便可以定义上述变量。
十八_2: DDX_FieldText()不知道怎么产生;
十九:ADOTest窗口弹不出来
解决方法:在建立MFC工程的时候将选项里的Base类由CView改为CFormView
二十:如何定义_ConnectionPtr型变量
在stdafx.h文件中加入代码:#import “c:program filescommon filessystemadomsado15.dll” no_namespace rename(“EOF”,“adoEOF”)
见博客:#post
二十一:当写到try{}是出现错误
解决方法:在后面添加catch{}代码,因为try与catch对应__try与__finally;try模块后面要跟上catch
二十二:ADOTest连接数据库失败
原因:ADOTest1.cpp中
hr = m_pConnection->Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb”,“",”",adModeUnknown);///连接数据库
数据库test.mdb没有建立。
二十三:ADOTest删除按键为灰色框扭按不下去。无语了:原来是没有选中要被删除的选项
不过要将OnItemchangedUserlist()中的代码添加完全
二十四:Address的Login对话框类中的消息处理函数WM_Close有什么用WM_CLOSE是可选的,可以给你一个机会决定关不关
WM_DESTROY你没有得选择,因为DestroyWindow已经调用,窗口已经开始销毁。
二十五:使用CDataBase类定义对象时出现问题,原因是没有定义这个类在添加CPersonSet类后问题很多很多:有26个此类错误
见“一”
二十六:出现如:'m_database' : is not a member of 'CAddInfoDlg'的错误提示时应在CAddInfoDlg中定义m_database量
二十七:点击查询后没有反应,不管精确查询还是模糊查询
原来是OnRadio1()中的 m_bsearchflag没有赋值
第四篇: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
//基类,雇佣者 { 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(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“< 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.遇到一些问题时要有耐心进行更正,因为可能有时候一个很小的错误会导致整个程序运行失常。 我感觉这一周的实习非常充实,谢谢这一周给我指导的老师,以及各位同学的陪伴。 #include { public: int get1();string get2();char get3();int get4();protected: int num,age; string name;double pay;char sex;};int employee::get1(){return num;} string employee::get2(){return name;} char employee::get3(){return sex;} int employee::get4(){return age;} class technician:public employee { protected: int hour;public: void display1(){cout<<“技术员编号:”;cin>>num; cout<<“技术员姓名:”;cin>>name;cout<<“技术员年龄:”;cin>>age; cout<<“技术员性别(m/w):”;cin>>sex;cout<<“技术员工作时间:”;cin>>hour; } double get_pay();int get_time();};double technician::get_pay(){ pay=100*hour;return pay;} int technician::get_time(){return hour;} class manager:public employee {public: void display2(){ cout<<“经理编号:”;cin>>num; cout<<“经理姓名:”;cin>>name; cout<<“经理性别(m/w):”;cin>>sex; cout<<“经理年龄:”;cin>>age; } double get_pay(){pay=8000;return pay;} };class salesman:public employee { protected: int number;double sales_volume;public: void display3(){cout<<“销售员编号:”;cin>>num; cout<<“销售员姓名:”;cin>>name; cout<<“销售员性别(m/w):”;cin>>sex; cout<<“销售员年龄:”;cin>>age; cout<<“销售员的销售额:”;cin>>sales_volume; cout<<“所属销售经理的编号:”;cin>>number; } int numb(){return number;} double sa(){return sales_volume;} double get_pay(){return sales_volume*0.04;} };class salesmanager:public manager { public: void display4(){cout<<“销售经理的编号:”;cin>>num; cout<<“销售经理的姓名:”;cin>>name; cout<<“销售经理的性别(m/w):”;cin>>sex; cout<<“销售经理的年龄:”;cin>>age; } };void excel(){ cout<<“ ★★小型公司工资管理系统★★”< ┌─────────────┐”< │ 请选择您所需的操作 │”< cout<<“ │ 数据输入:1,并按回车键 │ ”< │ 数据统计:2,并按回车键 │”< cout<<“ │ 数据打印:3,并按回车键 │”< cout<<“ │ 数据备份:4,并按回车键 │”< cout<<“ │ 退出系统:5,并按回车键 │”< cout<<“ └─────────────┘”< void main(){int i,j,x,k,y;char a;double mo[4],mone[4];excel();technician t[4];manager m[4]; salesman s[8]; salesmanager sm[4]; cin>>j;while(j==1||j==2||j==3||j==4||j==5){switch(j){case 1: {for(i=0;i<4;i++){t[i].display1(); cout<<“-------------”< cout<<“-------------”< {s[i].display3(); cout<<“-------------”< {sm[i].display4(); cout<<“-------------”< excel(); cin>>j;} break;case 2: { for(i=0;i<4;i++){cout<<“职工号为”< cout<<“┌─────┬─────┬─────┐”< cout<<“│ 职工号 │ 姓名 │ 销售额 │”< cout<<“├─────┼─────┼─────┤”< double money=0; for(x=0;x<8;x++) { if(s[x].numb()==sm[i].get1()) { money=money+s[x].sa(); mone[i]=money*0.005+5000; mo[i]=money*0.005+5000; cout<<“│”< cout<<”├─────┼─────┴─────┤“< } } cout<<”│销售额总计│“< cout<<”└─────┴───────────┘“< cout<<”│ 职工号 │ 姓名 │ 性别 │ 年龄 │ 工资 │“< cout<<”├─────┼─────┼─────┼────┼────┤“< │ break;} case 3: { {cout<<”请等待…“< cout<<”职工基本情况一览表如下“< cout<<”技术员“< cout<<”┌────┬────┬────┬────┬────┐“< cout<<”│ 职工号│ 姓名 │ 性别 │ 年龄 │ 工资 │“< for(x=0;x<4;x++) { cout<<”├────┼────┼────┼────┼────┤“< cout<<”│“< } cout<<”└────┴────┴────┴────┴────┘“< cout<<”经理“< cout<<”┌────┬────┬────┬────┬────┐“< cout<<”│ 职工号│ 姓名 │ 性别 │ 年龄 │ 工资 │“<第五篇:中国石油大学c++程序实习第四天(最后一天)程序