阅读以下程序说明和c++代码,将应填入(n)处的字句写在对应栏内。 [说明] 本程序接收输入的学生信息,包括学号、姓名,成绩,原样输出信息并计算学生的平均成绩。其中学生粪Stud除了包括no(学号)、name(姓名)和grade(成绩)数据成员外,有

admin2009-02-15  28

问题 阅读以下程序说明和c++代码,将应填入(n)处的字句写在对应栏内。
[说明]
   本程序接收输入的学生信息,包括学号、姓名,成绩,原样输出信息并计算学生的平均成绩。其中学生粪Stud除了包括no(学号)、name(姓名)和grade(成绩)数据成员外,有两个静态变量sum和num,分别存放总分和人数,另有一个构造函数、一个普通成员函数disp()和一个静态成员函数 avg()用于计算平均分。
[C++程序]
#include <stdio.h>
#include <string.h>
class Stud
{   int no;
    char name [10];
    int deg;
     (1)   int sum;
   static int num;
   public:
        Stud(int n,char na[],int d) {
            no=n;
            deg=d;
            strcpy(name,na);
             (2);
             (3);
            }
            static double avg() { return  (4);}
            void disp() { printf("% -5d% -8s%3d\n",no,name,deg);}
};
int Stud:: sum = 0;
int Stud:: num=0;
void main()
{
    Stud s1(1,"Li",81), s2(2,"Zhao",84.5),s3(3,"Zhang",87);
    printf("\nNo. Name Grade\n");
    s1.disp();
    s2.disp();
    s3.disp();
    printf("Avg=%g\n\n",(5));
}

选项

答案(1) static (2) sum+=d (3) num++ (4) sum/num (5) Stud::avg()

解析 (1)根据题意,sum数据成员是静态变量;
(2)~(3):在Stud类的构造函数中,应该对sum数据成员累加并对num成员增1;
(4)avg函数是计算平均数的,所以应该返回syam/num;
(5)C++语言程序设计中,类的静态数据成员或函数可以利用类名加作用域分辨符“::”来访问或调用。
转载请注明原文地址:https://kaotiyun.com/show/1ojZ777K
0

最新回复(0)