




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
201509 考试批次 面向对象程序设计结课作业 201509 考试批次 面向对象程序设计结课作业 学生姓名 学生姓名 学习中心 学习中心学习中心 学习中心 学 号 考 号 学 号 考 号 专 业 计算机科学与技术 年级层次 专科起点本科 专 业 计算机科学与技术 年级层次 专科起点本科 北京语言大学网络教育学院 面向对象程序设计结课作业 注意: 本学期所布置的结课作业,请同学一律按照以下要求执行: 一、学生必须预约才能在学生平台看见相关课程的“结课作业”按钮; 二、提交路径:个人平台首页-学习中的课程,点击该课程名称-点击“结课作业”-点击 “浏览”按钮,选择要上传的文档后点击“提交作业”即可。 三、结课作业提交起止时间:2015 年 8 月 1 日9 月 7 日。2015 年 8 月 1 日9 月 7 日。 (届时平台自动关闭,逾期不予 接收。 ) 四、提交的文档格式必须为 word 文档,截止日期前可多次提交,平台只保留最后一次提交 的文档; 五、严格按照课程名称提交相应课程结课作业,提交错误的结课作业,按 0 分处理。 一、 【程序分析题】(本大题共 5 小题,请任选其中一道题作答,答题时请注明题 号,本题 30 分,本题要求读懂题目中的程序或函数,写出程序或函数的功能) 一、 【程序分析题】(本大题共 5 小题,请任选其中一道题作答,答题时请注明题 号,本题 30 分,本题要求读懂题目中的程序或函数,写出程序或函数的功能) 1、#include void main() int i,s=0; for(i=2;i=30;i+=2) s+=i*i; couts=sendl; 答:程序的功能是:计算并输出 2 2 +42 +62 +302 的值 2、int s1(int n) int x; if(n=1) x=1; else x=s1(n-1)+n*n; return x; 答:函数的功能是:通过递归调用函数 S1 求得 1+2 2+32+.+n2的值 3、void fun5(char* a, const char* b) while(*b) *a+=*b+; *a=0; 答:实现字符串系统函数 strcpy 的功能,把 b 所指的字符串拷贝到 a 所指的字符数组空间 中。 4、void fun3(int aN, int m, int n, int row=col=0; for(int i=0;im;i+) for(int j=0;jx) x=aij; row=i; col=j; 答:函数的功能是:找出数组中最大数所在的行和列 5、char* f8(char* str1, const char* str2) int i=0,j=0; while(str1i) i+; while(str2j) str1i+=str2j+ ; str1i=0; return str1; 答:函数的功能是:把 str2 链接到 str1 后面。 二、 【编写程序实现算法】(本大题共 5 小题,请任选其中一道题作答,答题时请 注明题号,本题 30 分,根据题目要求编写算法实现,要求程序没有语法错误) 二、 【编写程序实现算法】(本大题共 5 小题,请任选其中一道题作答,答题时请 注明题号,本题 30 分,根据题目要求编写算法实现,要求程序没有语法错误) 1、按照函数原型语句“void p(int n);”编写一个递归函数显示出如下图形,此图形是 n=5 的情况。 55555 4444 333 22 1 答: void p(int n) if(n!=0) for(int i=0; in; i+) coutn; coutendl; p(n-1); 2、按照函数原型语句“void p(int n);”编写一个递归函数显示出如下图形,此图形是 n=5 的情况。 1 22 333 4444 55555 void p(int n) if(n=1) printf(1n); return; else p(n-1); for(int i=1; i=n; i+) printf(%d,n); printf(n); void main() p(5); 3、按照下面函数原型语句编写一个递归函数计算出数组 a 中 n 个元素的平方和并返回。 、按照下面函数原型语句编写一个递归函数计算出数组 a 中 n 个元素的平方和并返回。 int f(int a,int n); int f(int a,int n) if(nms) coutError!endl; exit(1); MS=ms; n=nn; a=new intMS; for(int i=0; in; i+) ai=aai; int MaxMin(int /从数组 a 的前 n 个元素中求出 /最大值和最小值,并分别由引用参数 x 和 y 带回, /同时若 n 大于 0 则返回 1,否则返回 0。 ; 答:int AA:MaxMin(int mx=my=a0; for(int i=1; imx) mx=ai; if(ai0) return 1; else return 0; 5、如果 A 和 B 都是 m 行 n 列矩阵,且它们对应元素相等,则 A= =B。试定义矩阵类, 对“= =”运算符重载。 #include using namespace std; const int M=3; const int N=3; class Matrix private: int XMN; public: friend int operator=(Matrix ; int operator=(Matrix *A,Matrix *B) int i,j; for(i=0;iM;i+) for(j=0;jN;j+) if(Aij!=Bij) return 0; return 1; 三、 【程序设计题】(本大题共 5 小题,请任选其中一道题作答,答题时请注明题 号,本题 40 分,根据题目要求编写完整程序实现,要求程序能够正常运行,没 有语法错误) 三、 【程序设计题】(本大题共 5 小题,请任选其中一道题作答,答题时请注明题 号,本题 40 分,根据题目要求编写完整程序实现,要求程序能够正常运行,没 有语法错误) 1、编写一个程序,计算三角形、正方形和圆形三种图形的面积和周长。 (用多态性实现) #include #include using namespace std; class Shape private: public: virtual double S() = 0; virtual double C() = 0; ; class Tri: public Shape private: double r1,r2,r3; public: Tri(double d1 = 0, double d2 = 0, double d3 = 0):r1(d1),r2(d2),r3(d3); double S()return(sqrt(0.5*(r1 + r2 + r3)*0.5*(r1 - r2 + r3)*0.5*(r1 + r2 - r3)*0.5*(- r1 + r2 + r3); double C() return (r1 + r2 + r3); ; class Qua: public Shape private: double side; public: Qua(double ss):side(ss); double S()return (ss * ss); double C() return (4 * ss); class Cir: public Shape private: double rad; public: Cir(double dd):rad(dd); double S() return (3.14 * rad * rad); double C() return (2 * 3.14 * rad); ; int main() Shape* a = new Tri(3,4,5); Shape* b = new Cir(2); Shape* d= new Qua(4); cout C() endl; cout S() endl; cout C() endl; cout S() endl; cout C() endl; cout S() endl; return 0; ; 2、已有若干个学生数据,包括学号、姓名、成绩,编写程序要求输出这些学生数据并计算 平均分。 #include #include #include #include class student public: int no; char *name; int deg; student(); student(); void display(); ; static int sum,num=3; static int avg(int sum); void main() int aver; student stu3; stu0.no=1; =li; class student public: int no; char *name; int deg; student(); student(); void display(); ; static int sum,num=3; static int avg(int sum); void main() int aver; student stu3; stu0.no=1; =li; stu0.deg=89; stu1.no=2; =chen; stu1.deg=78; stu2.no=3; =zheng; stu2.deg=94; for(int i=0;i3;i+) stui.display(); sum+=stui.deg; coutthe sum is: aver=avg(sum); coutthe average is: student:student() no=0; name=(char*)malloc(sizeof(char)*8); deg=0; student:student() free(name); void student:display() cout static int avg(int sum) int aver; aver=sum/num; return aver; stu0.deg=89; stu1.no=2; =chen; stu1.deg=78; stu2.no=3; =zheng; stu2.deg=94; for(int i=0;i3;i+) stui.display(); sum+=stui.deg; coutthe sum is: aver=avg(sum); coutthe average is: student:student() no=0; name=(char*)malloc(sizeof(char)*8); deg=0; student:student() free(name); void student:display() couta=a; void biaomianji(); void tiji(); private: int a ; void zhengfangti:biaomianji() cout正方形的表面积为6*a*aendl; void zhengfangti:tiji() cout正方形的体积为a*a*ab=b; void biaomianji(); void tiji(); private: int b ; void qiuti:biaomianji() cout球体的表面积为4*n*b*bendl; void qiuti:tiji() cout球体的体积为(4.0/3.0)*n*b*b*bd=d; void biaomianji(); void tiji(); private: int r,d; ; void yuanzhuti:biaomianji() cout圆柱体的表面积为2*n*r*r+2*n*r*dendl; void yuanzhuti:tiji() cout圆柱体的体积为n*r*r*dtiji(); void main() zhengfangti zheng(3); qiuti qiu(4); yuanzhuti yuanzhu(3,4); fun( fun1( fun( fun1( fun( fun1( 4、编写一个程序,实现图书和杂志销售管理。当输入一系列图书和杂志销售记录后,将销 售良好(图书每月售 、编写一个程序,实现图书和杂志销售管理。当输入一系列图书和杂志销售记录后,将销 售良好(图书每月售 500 本以上,杂志每月本以上,杂志每月 2500 本以上)的图书和杂志名称显示出来。本以上)的图书和杂志名称显示出来。 #include #include using namespace std; int main() string bookName; string magazineName; string a100,b100; int bookNumber; int magazineNumber; int i=0,j=0,c,d; do cout请输入图书的名称:bookName; cout请输入图书销售的数量:bookNumber; if (bookNumber500) ai=bookName; i+; cout请问还有图书需要输入吗?有请按 1,没有请按 0c; while(c=1); do cout请输入杂志的名称:magazineName; cout请输入杂志销售的数量:magazineNumber; if (magazineNumber2500) bj=magazineName; j+; cout请问还有杂志需要输入吗?有请按 1,没有请按 0d; while(d=1); cout销售良好的图书有:endl; for(int k=0;k!=i;k+) coutakn; cout销售良好的杂志有:endl; for(int x=0;x!=j;x+) coutbxn; return 0; system(pause); 5、一名兽医要记录他所治疗的各种类型的狗以及治疗信息,尤其想了解不同的病症对带斑 点的狗和不带斑点的狗所产生的影响。为该兽医设计一个程序,要求记录狗的品种(breed), 身高(height),体重(weight),颜色(color)等信息。为斑点狗和不带斑点的狗设计不同的类。 下面的程序使用你设计的类。 void main() / 定义一个白色的 Dalmatian 斑点狗,它身高 24,体重 60, 斑点为红色 spotted_dog redSpot(Dalmatian,24,60,white,red); /定义一个黄色的 Labrador 无斑点狗,它身高 30,体重 40 unspotted_dog rover(Labrador Retriever,30,40,yellow); redSpot.show_name(); /显示狗名 redSpot.show_breed(); /显示狗品种 redSpot.spot_info(); /显示狗斑点信息 rover.show_name(); /显示狗名 rover.show_breed(); /显示狗品种 #include using namespace std; class unspotted_dog /定义无斑点的狗作为基类 char breed20, color10; /定义字符数组,存放狗的品种和颜色 float height, weight; public: unspotted_dog(char* br, char* co, float he, float we) /形参为字符型指针,对应实参为字符 串(字符数组) strcpy(br
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年区块链金融行业应用前景研究报告
- 2025年医疗健康行业智能医疗设备市场前景展望报告
- 国家事业单位招聘2025国家海洋标准计量中心招聘应届毕业生拟聘人员笔试历年参考题库附带答案详解
- 吉林省2025年吉林白城通榆县事业单位引进急需紧缺人才笔试历年参考题库附带答案详解
- 南宁市2025广西南宁市青秀区委政法委招聘2人笔试历年参考题库附带答案详解
- 克拉玛依市2025新疆克拉玛依市企事业单位高层次急需紧缺人才引进(493人)笔试历年参考题库附带答案详解
- 乌兰察布市2025内蒙古乌兰察布市四子王旗高层次和紧缺急需人才引进46人笔试历年参考题库附带答案详解
- 2025重庆国咨数据服务有限公司招聘18人笔试参考题库附带答案详解
- 2025甘肃张掖市发展投资集团有限公司招聘专业技术人员6人笔试参考题库附带答案详解
- 2025河南空港数字城市开发建设有限公司第一批社会招聘20人笔试参考题库附带答案详解
- 危重患者皮肤管理课件
- 2025年国防教育知识竞赛试题(附答案)
- 工伤受伤经过简述如何写
- 银行现金取款申请书
- 人事外包招聘代理合同
- 数字经济学-课件 第3章 数字技术
- AI引领时尚设计新潮-个性化需求的新一代解决方案
- 高二数学直线倾斜角与斜率同步练习题
- 2024-2030年全球及中国热障涂层(TBC)行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 大轻质泡沫混凝土研究报告
- 室内装修工程质量保障措施方案
评论
0/150
提交评论