2022年实训总结报告.docx

上传人:l**** 文档编号:9486291 上传时间:2022-04-04 格式:DOCX 页数:10 大小:19.04KB
返回 下载 相关 举报
2022年实训总结报告.docx_第1页
第1页 / 共10页
2022年实训总结报告.docx_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《2022年实训总结报告.docx》由会员分享,可在线阅读,更多相关《2022年实训总结报告.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2022年实训总结报告实训总结报告-面对对象程序实训的目的与系统概述1、目的:(1)驾驭面对对象设计开发的基本思想和方法,培育学生在已有的学问基础上进一步获得新学问的实力,提高分析问题和解决问题的实力。(2)进一步巩固面对对象程序设计课程中所学到的学问,娴熟驾驭C+语言程序设计,加强对VC+编程环境的运用实力,驾驭VC+编程环境中的调试功能,增加实际编程实力。(3)培育和提高逻辑思维、抽象思维和统筹规划实力,培育独立完成程序设计开发的工作实力。为今后从事专业性软件开发工作打下基础。2、 功能通过将不同类型的人员设计成相应的类,完成的人员的管理。3、 系统概述学校的人员包括学生、职工;职工又分为

2、老师和行政人员;在职进修老师又具备学生和老师的属性和行为。a) 人员具有姓名、年龄、性别、地址和人员类别等属性,有显示属性的功能和设置属性的功能。b) 学生具有人员的属性和行为,此外,添加学号、成果属性。具有的行为有:设置属性的函数:让用户能够通过键盘的输入设置除了成果之外的基本属性;录入成果:输入学生的各门成果;显示:显示基本属性和他的平均成果。c) 职工具有人员的属性和行为,此外,添加职工号、职称和工资属性。d) 老师具有职工的属性和行为,此外,添加教研室、教授的课程属性。具有的行为有:设置属性的函数:让用户能够通过键盘的输入设置除了课程信息之外的基本属性;录入课程:输入老师所教的各门成果

3、;显示:显示基本属性。e) 行政人员具有职工的属性和行为,此外,添加办公室属性。f) 在职进修老师具有老师与学生的属性和行为,此外,添加进修时间,工作单位属性。通过实现此系统,让我综合运用所学学问,驾驭面对对象设计开发的基本思想和方法和C+的编程思想来完成简洁的面对对象的程序设计。让我在已有的学问基础上进一步获得新学问的实力,提高分析问题、解决问题和独立完成程序设计开发的工作实力。为今后从事专业性软件开发工作打下基础。类的实现编程实现上面类的设计。主程序中的验证创建对象,检验类的功能是否能够实现。1、遇到的困难、解决方法及收获:各类属性的实现。利用对象数组即便利又能固定调用哪个属性。在构造函数

4、中定义属性类型,利用对象数组调用。对象数组中字符串的赋值。安排(new实现)一个char型变量长度加一的字符串,再利用拷贝函数拷贝原变量并放在name里,如:name=new char;strcpy(name,na);因为没有给原带参构造函数的形参赋值,主函数中不能声明类的无参对象。在定义一个无参构造函数,如:person()在派生类带参构造函数与基类带参构造函数所带参数不同时没有对基类构造函数的参数初始化。构造函数无法被继承,当派生类带参构造函数与基类带参构造函数所带参数不同时,要在派生类构造函数中对基类构造函数的参数进行初始化,如:worker(int num,char *v,int p,

5、char *na,int a,char *s,char *ad,char *l):person(na,a,s,ad,l)平均分的实现。利用对象数组正确调用分数属性再利用返回值为float的成员函数实现平均分,如:float getaverage(student st,int i)int a=st.mathscore;int b=st.cscore;return st.average=(a+b)/2;正确输入和调用属性。利用p.属性名实现属性的各种行为,如:cinp.age;cout姓名:p.nameendl;switch语句总执行完一个case后还接着执行。加入break语句跳出switch语

6、句。2、 程序中还须要改进的地方。姓名,年龄,地址等属性限制的实现。附件:源程序#include iostream.h#include stringusing namespace std;class personprotected: char *name; int age; char *sex; char *address; char *lb;public: person(char *na,int a,char *s,char *ad,char *l)/对象数组 name=new char; strcpy(name,na); age=a; sex=new char; strcpy(sex,s)

7、; address=new char; strcpy(address,ad); lb=new char; strcpy(lb,l); person()/无参构造函数,便利声明无参对象 virtual void getinf(person p,int n) char na1; cout姓名:; cinna1; p.name=new char;/安排na1长度+1的字符串 strcpy(p.name,na1);/拷贝字符串 coutendl; cout年龄:; cinp.age; coutendl; char s1; cout性别:(n:男,w:女); cins1; p.sex=new char;

8、 strcpy(p.sex,s1); coutendl; char ad1; cout地址:; cinad1; p.address=new char; strcpy(p.address,ad1); coutendl; virtual void disp(person p,int n)/有参虚函数,对象数组输出的事现 cout姓名:p.nameendl; cout年龄:p.ageendl; cout性别:p.sexendl; cout地址:p.addressendl;class student:public virtual personprotected: int number; int mat

9、hscore,cscore; float average;public: student(int nu,int ms,int cs,float av,char *na,int a,char *s,char *ad,char *l):person(na,a,s,ad,l)/构造函数无法被继承,在派生类构造函数带参数与基类构造函数所带参数不同时要先对基类构造函数初始化 number=nu;mathscore=ms;cscore=cs;average=av; student() virtual void getvalue(student st,int i) cout学号:; cinst.number

10、; coutendl; void getscore(student st,int i) cout数学成果:; cinst.mathscore; coutendl; coutC+成果:; cinst.cscore; coutendl; float getaverage(student st,int i)/平均分的实现 int a=st.mathscore; int b=st.cscore; return st.average=(a+b)/2; void show(student st,int i) cout学号:st.numberendl; virtual void show1(student

11、st,int i) st.show(st,i); cout数学成果:st.mathscoreendl; coutC+成果:st.cscoreendl; st.getaverage(st,i); cout平均成果:st.averageendl; ;class worker:public virtual personprotected: int number; float pay; char *value;public: worker(int num,char *v,int p,char *na,int a,char *s,char *ad,char *l):person(na,a,s,ad,l)

12、 number=num; value=new char; strcpy(value,v); pay=p; worker() void getvalue(worker w,int i) cout职工号:; cinw.number; coutendl; char v1; cout职称:; cinv1; w.value=new char; strcpy(w.value,v1); coutendl; cout工资:; cinw.pay; coutendl; void show(worker w,int i) cout职工号:w.numberendl; cout职称:w.valueendl; cout工

13、资:w.payendl; ;class teacher:public virtual worker,public virtual personprotected: char *kemu; int chengji; char *office;public: teacher(char *of,char *ke,int ch,int num,char *v,int p,char *na,int a,char *s,char *ad,char *l):worker(num,v,p,na,a,s,ad,l),person(na,a,s,ad,l) office=new char; strcpy(offi

14、ce,of); kemu=new char; strcpy(kemu,ke); chengji=ch; teacher() void getmessage(teacher t,int i) char of1; cout教研室:; cinof1; t.office=new char; strcpy(t.office,of1); coutendl; char ke1; cout科目:; cinke1; t.kemu=new char; strcpy(t.kemu,ke1); coutendl; cout成果:; cint.chengji; coutendl; void show1(teacher

15、t,int i) cout教研室:t.officeendl; cout科目:t.kemuendl; cout成果:t.chengjiendl; ;class employee:public virtual worker,public virtual personprivate: char *office;public: employee(char *of,int num,char *v,int p,char *na,int a,char *s,char *ad,char *l):worker(num,v,p,na,a,s,ad,l),person(na,a,s,ad,l) office=new

16、 char; strcpy(office,of); employee()void getmessage(employee e,int i) char of1; cout教研室:; cinof1; e.office=new char; strcpy(e.office,of1); coutendl; void show1(employee e,int i) cout教研室:e.officeendl; ;class jingx:public virtual student,public virtual teacher,public virtual worker,public virtual pers

17、onprivate: int time; char *danwei;public: jingx(int ti,char *da,int nu,int ms,int cs,float av,char *of,char *ke,int ch,int num,char *v,int p,char *na,int a,char *s,char *ad,char *l):student(nu,ms,cs,av,na,a,s,ad,l),teacher(of,ke,ch,num,v,p,na,a,s,ad,l),worker(num,v,p,na,a,s,ad,l),person(na,a,s,ad,l)

18、 time=ti; danwei=new char; strcpy(danwei,da); jingx() void getmessage1(jingx j,int i) cout进修时间:; cinj.time; coutendl; char da1; cout单位属性:; cinda1; j.danwei=new char; strcpy(j.danwei,da1); coutendl; void show2(jingx j,int i) cout进修时间:j.timeendl; cout单位属性:j.danweiendl; ;int i;person p; student st; wor

19、ker wo; teacher te; employee em; jingx jx;void main() cout请选择人员类别:endl; cout1、一般人 2、学生 3、学生及成果 4、员工 5、老师 6、行政人员 7、在职进修老师endl; cini; cout请依次录入信息endl; switch(i)/录入信息种类选择的实现 case 1: p.getinf(p,1); cout*endl; p.disp(p,1); break;/要有break语句否则将执行case2 case 2: st.getvalue(st,1); p.getinf(p,1); cout*endl; st

20、.show(st,1); p.disp(p,1); break; case 3: st.getvalue(st,1); p.getinf(p,1); st.getscore(st,1); cout*endl; st.show1(st,1); p.disp(p,1); break; case 4: wo.getvalue(wo,1); p.getinf(p,1); cout*endl; wo.show(wo,1); p.disp(p,1); break; case 5: te.getmessage(te,1); p.getinf(p,1); wo.getvalue(wo,1); cout*end

21、l; te.show1(te,1); p.disp(p,1); wo.show(wo,1); break; case 6: em.getmessage(em,1); p.getinf(p,1); wo.getvalue(wo,1); cout*endl; em.show1(em,1); p.disp(p,1); wo.show(wo,1); break; case 7: jx.getmessage1(jx,1); te.getmessage(te,1); st.getvalue(st,1); wo.getvalue(wo,1); p.getinf(p,1); st.getscore(st,1); cout*endl; jx.show2(jx,1); p.disp(p,1); te.show1(te,1); wo.show(wo,1); st.show1(st,1); break; default : cout输入错误!endl;第10页 共10页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁