skystar 发表于 2019-8-13 15:55:12

[北京语言大学]201909考试批次《面向对象程序设计》(结课作业)

   北京语言大学网络教育学院
             《面向对象程序设计》结课作业
             注意:
             本学期所布置的结课作业,请同学一律按照以下要求执行:
            1) 结课作业提交起止时间:7月22日-------9月9日。(届时平台自动关闭,逾期不予接收。)
            2) 结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;
            3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;
            4) 提交文档要求:提交的文档格式为doc、rar,大小10M以内;
            5) 必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。

             一、【程序分析题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,本题要求读懂题目中的程序或函数,写出程序或函数的功能)
            1、#include<iostream.h>
                     void main()
                     {
                           int i,s=0;
                           for(i=2;i<=30;i+=2) s+=i*i;
                           cout<<"s="<<s<<endl;
                     }
             2、int s1(int n)
                  {
                            int x;
                        if(n==1) x=1;
                        else x=s1(n-1)+n*n;
                        return x;
                  }
             3、void fun5(char* a, const char* b)
                     {
                         while(*b) *a++=*b++;
                           *a=0;
                     }
             4、void fun3(int a[], int m, int n, int& row, int& col)
                     {
                           int x=a;
                         row=col=0;
                           for(int i=0;i<m;i++)
                                     for(int j=0;j<n;j++)
                                 if(a>x) {
                                                   x=a; row=i; col=j;
                                             }
                     }
             5、char* f8(char* str1, const char* str2)
                     {
                         int i=0,j=0;
                         while(str1) i++;
                         while(str2) str1=str2 ;
                         str1='\0';
                         return str1;
                     }

            二、【编写程序实现算法】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,根据题目要求编写算法实现,要求程序没有语法错误)
            1、按照函数原型语句“voidp(int n);”编写一个递归函数显示出如下图形,此图形是n=5的情况。
            55555
             4444
             333
             22
             1
             2、按照函数原型语句“voidp(int n);”编写一个递归函数显示出如下图形,此图形是n=5的情况。
            1
             22
             333
             4444
             55555
             3、按照下面函数原型语句编写一个递归函数计算出数组a中n个元素的平方和并返回。
            int f(int a[],int n);
            4、根据下面类中MaxMin 函数成员的原型和注释写出它的类外定义。
            class AA {
             int* a;
                     int n;
                     int MS;
             public:
                     void InitAA(int aa[], int nn, int ms) {
                           if(nn>ms) {cout<<"Error!"<<endl; exit(1);}
                           MS=ms;
                           n=nn;
                           a=new int;
                           for(int i=0; i<n; i++) a=aa;
                     }
             int MaxMin(int& x, int& y); //从数组a的前n个元素中求出
                     //最大值和最小值,并分别由引用参数x和y带回,
                     //同时若n大于0则返回1,否则返回0。
            };
            5、如果A和B都是m行n列矩阵,且它们对应元素相等,则A= =B。试定义矩阵类,
             对“= =”运算符重载。

             三、【程序设计题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题40分,根据题目要求编写完整程序实现,要求程序能够正常运行,没有语法错误)
            1、编写一个程序,计算三角形、正方形和圆形三种图形的面积和周长。(用多态性实现)
            2、已有若干个学生数据,包括学号、姓名、成绩,编写程序要求输出这些学生数据并计算平均分。
            3、应用C++的多态性编写一个程序,编写程序计算正方体、球体和圆柱体的表面积和体积。
            4、编写一个程序,实现图书和杂志销售管理。当输入一系列图书和杂志销售记录后,将销售良好(图书每月售500本以上,杂志每月2500本以上)的图书和杂志名称显示出来。
            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();//显示狗品种
                     }


页: [1]
查看完整版本: [北京语言大学]201909考试批次《面向对象程序设计》(结课作业)