201509考试批次《面向对象程序设计》(结课作业)

上传人:小** 文档编号:175324539 上传时间:2022-12-19 格式:DOC 页数:12 大小:82KB
收藏 版权申诉 举报 下载
201509考试批次《面向对象程序设计》(结课作业)_第1页
第1页 / 共12页
201509考试批次《面向对象程序设计》(结课作业)_第2页
第2页 / 共12页
201509考试批次《面向对象程序设计》(结课作业)_第3页
第3页 / 共12页
资源描述:

《201509考试批次《面向对象程序设计》(结课作业)》由会员分享,可在线阅读,更多相关《201509考试批次《面向对象程序设计》(结课作业)(12页珍藏版)》请在装配图网上搜索。

1、也语咳次孕201509考试批次考试批次面向对象程序设计结课作业学生姓名学号专业计算机科学与技术学习中心学习中心考号年级层次专科起点本科北京语言大学网络教育学院I面向对象程序设计结课作业注意:本学期所布置的结课作业,请同学一律按照以下要求执行:一、学生必须预约才能在学生平台看见相关课程的“结课作业”按钮:二、提交路径:个人平台首页一学习中的课程,点击该课程名称一点击“结课作业”一点击“浏览”按钮,选择要上传的文档后点击“提交作业”即可。三、结课作业提交起止时间:2015年8月1日一9月7日。(届时平台自动关闭,逾期不予接收。)四、提交的文档格式必须为word文档,截止口期前可多次提交,平台只保留

2、最后一次提交的文档;五、严格按照课程名称提交相应课程结课作业,提交错误的结课作业,按0分处理。一、【程序分析题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,本题要求读懂题目中的程序或函数,写出程序或函数的功能)1#includevoidmain0Iinti,s=0:for(i=2;i=30;i+=2)s+=i*i;cout,?s=,sx)x=aij;row二i;col=j;答:函数的功能是:找出数组中最人数所在的行和列5、char*f8(char*str1,constchar*str2)inti=0,j=0;viile(strli)i+;vhile(str2jj)st

3、r1i+=str2j+;strli=0;“turnstrl;答:函数的功能是:把str2链接到strl后面。二、【编写程序实现算法】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,根据题目要求编写算法实现,要求程序没有语法错误)1、按照函数原型语句“voidp(intn);”编写一个递归函数显示出如下图形,此图形是n二5的情况。555554444333221答:voidp(intn)if(n1=0)for(inti=0;in;i+)coutn;coutendl;p(n-l);2、按照函数原型语句“voidp(intn);”编写一个递归函数显示出如下图形,此图形是n二5的情

4、况。122333444455555voidp(intn)if(n=1)pnntf(H1nH);return;elseP(n-1);for(inti=1;iv=n;i+)printf(,%d,n);printf(“n”);voidmain()P;3、按照下面函数原型语句编写一个递归函数计算出数组a中n个元素的平方和并返回。intf(inta,intn):intf(intaJntn)if(nms)coutErro:r!z,endl;exit;MS二ms;n=nn;a=newintMS;for(inti=0;iXn;i+)ai=aai;)intMaxMin(int&x,int&y);从数组a的前n个

5、元素中求出最人值和最小值,并分别由引用参数X和y带回,/同时若n大于0则返回1,否则返回0。;答:intAA:MaxMin(int&x,int&y)intmx,my;mxmyaEO;for(inti=1;imx)mx=ai;if(ai0)return1;elsereturn0;5、如呆A和B都是m行n列矩阵,且它们对应元素相等,则A=B。试定义矩阵类,对“=”运算符重载。#includeusingnamespacestd;constintM=3;constintN=3;classMatr仪private:intXMN);public:friendintoperator=(Matrix&A,Ma

6、trix&B);intoperator=(Matrix*A,Matrix*B)inti,j;for(i=0;iM;i+)for(j=0;jN;j+)if(AiU!=BiU)return0;return1;三、【程序设计题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题40分,根据题目要求编写完整程序实现,要求程序能够正常运行,没有语法错误)1、编写一个程序,计算三角形、正方形和圆形三种图形的面积和周长。(用多态性实现)#inelude#ineludeusingnamespacestd;classShapeprivate:public:virtualdoubleS()=0;vir

7、tualdoubleC()=0;;classTri:publicShapeprivate:doubler1,r2,r3;public:Tri(doubled1=0,doubled2=0,doubled3=0):r1(d1),r2(d2),r3(d3);doubleS()return(sqrt(0.5*(r1+r2+r3)*0.5*(r1-r2+r3)*0.5*(r1+r2r3)*0.5*(-r1+r2+);doubleC()return(r1+r2+r3);classQua:publicShapeprivate:doubleside;public:Qua(doubless):side(ss);

8、doubleS()return(ss*ss);doubleC()return(4*ss);classCir:publicShapeprivate:doublerad;public:Cir(doubledd):rad(dd);doubleS()return(3.14*rad*rad);doubleC()return(2*3.14*rad);Sh 即 3a=newTri(3,4,5);Shape*b=newCir(2);Shape*d=newQua;couta-C()endl;couta-S()endl;coutb-C()endl;coutb-S()endl;coutd-C()endl;coutd

9、-S()endl;return0;2、已有若干个学生数据,包括学号、姓名、成绩,编写程序要求输出这些学生数据并计算平均分。#include#includeclassstudentpublic:irrtno;char*name;intdeg;student();student0;voiddisplay();staticintsum,num=3;staticintavg(intsum);voidmainOintaver;studentstu3;stu0.no=l;stu0stuOdeg=89;stul.no=2;stulname=chen;stul.deg=78;stu2.no=3;stu2nam

10、e=/zzhengstu2deg=94;for(inti=0;i3;i+)display();sum+=stuideg;coutz,thesumis:aver=avg(sum);couttheaverageis:student:student()no=0;name=(char*)malloc(sizeof(char)*8);deg=0;student:student0free(name);voidstudent:display0coutstaticintavg(intsum)intaver;aver=sum/num;returnaver;3、应用C+的多态性编写一个程序,编写程序计算正方体、球

11、体和圆柱体的表面积和体积。#includeusingnamespacestd;#definen3.14classShujupublic:virtualvoidbiaomianji()=0;virtualvoidtiji()=O;classzhengfangti:publicShujupublic:zhengfangti(inta)this-a=a;voidbiaomianji();voidtiji();private:inta;voidzhengfangti:biaomianji()cout正方形的表面积为b=b;voidbiaomianji();voidtiji();private:intb

12、;voidqiuti:biaomianji()cout球体的表面积为4*n*b*bendl;voidqiuti:tiji()cout球体的体积为(4.0/10)*n*b*b*br=r;this-d=d;voidbiaomianji();voidtiji();private:intr;d;voidyuanzhuti:biaomianji()coutH圆柱体的表面积J,2*n*r*r+2*n*r*dendl;voidyuanzhuti:tiji()cout圆柱体的体积为n*r*r*dendl;voidfun(Shuju*ptr)ptr-biaomianji();voidfunl(Shuju*ptr

13、)Ptr-tiji();voidmain()zhengfangtizheng(3);qiutiqiu(4);yuanzhutiyuanzhu(3,4);fun(&zheng);funl(&zheng);fun(&qiu);funl(&qiu);fun(&yuanzhu);funl(&yuanzhu);4、编写一个程序,实现图书和杂志销售管理。当输入一系列图书和杂志销售记录后,将销售良好(图书每月售500本以上,杂志每月2500本以上)的图书和杂志名称显示出来。include#ineludeusingnamespacestd;intmain()stringbookName;stringmagaz

14、ineName;stringa100,b100;intbookNumber;intmagazineNumber;inti=O/j=O,c,d;docoutn请输入图书的名称:endl;cinbookName;coutHiW输入图书销售的数量:Hendl;cinbookNumber;if(bookNumber500)ai=bookName;i+;cout“请问还有图书需要输入吗?有请按1,没有请按0”2500)bj=magazineName;j+;cout请问还有杂志需要输入吗?有请按1,没有请按0endl;cind;while(d=l);cout销售良好的图书有:Hendl;for(intk=

15、O;k!=i;k+)coutakn,;cout销售良好的杂志有:nendl;for(intx=Op!=jp+)coutbx,n,;return0;system(,pause,);5、一名兽医要记录他所治疗的各种类型的狗以及治疗信息,尤其想了解不同的病症对带斑点的狗和不带斑点的狗所产生的影响。为该兽医设计一个程序,要求记录狗的品种(breed),身高(height),体重(weight),颜色(color)等信息。为斑点狗和不带斑点的狗设计不同的类。下面的程序使用你设计的类。voidmain()/定义一个白色的Dalmatian斑点狗,它身高24,体重60,斑点为红色spotted_dogred

16、Spot(Dalmatianz24/60/white/red);定义一个黄色的Labrador无斑点狗,它身高30,体重40unspotted_dogrover(LabradorRetriever,30,40,yellow);redSpot.show_name();/显示狗名redSpot.show_breed();/显示狗品种redSpotspot_info();显示狗斑点信息rover.show_name();显示狗名rover.show_breed();显示狗品种#includeusingnamespacestd;classunspotted_dog定义无斑点的狗作为基类charbree

17、d20,color10;定义字符数组,存放狗的品种和颜色floatheight,weight;public:unspotted_dog(char*br,char*co,floathe,floatwe)/形参为字符型指针,对应实参为字符串(字符数组)strcpy(breed,br);strcpyfcolor,co);height=he;weight=we;/字符赋值得用strcpyvoidshow_breed()coutBreedis:breedendl;输出无斑点狗的品种还可定义其它函数输出身高、体重和颜色;classspotted_dog:publicunspotted_dog定义有斑点狗为

18、无斑狗的派生类charspot_color10;斑点颜色为新增成员public:spotted_dog(char*br;floathe,floatwe,char*co,char*sp_co):unspotted_dog(bche,we,co)初始化基类成员strcpy(spot_coIor,sp_co);初始化新增成员voidspot_info()coutspot_coloris:spot_colorendl;输出有斑点狗的斑点颜色;intmain(void)spotted_dogredSpot(Dalmatian,24,60,white,red);/定义斑点狗类的对象unspotted_dogrover(LabradorRetriever,30,40,yellow);/定义无斑点狗类的对象redSpot.show_name();11显示狗名redSpot.show_breed();/显示狗品种redSpot.spot_info();显示狗斑点信息rover.show_name();显示狗名rover.show_breed();显示狗品种return0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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