填空题

试题六
阅读以下说明和C++代码。
[说明]
类Stock的定义中有三处错误,分别在代码的第04、06、10行。请补齐下述代码中的空缺(1),修改错误并给出修改后该行的完整代码,最后完善程序运行后的输出结果。
[C++代码]
01 #include <iostream>
02 using namespace std;
03 class Stock{
04 protected:
05 Stock()shares=0;share_val=0.0;Output();}
06 Stock(int n=0,double pr=3.5): (1){ //初始化shares值为n
07 share_val=pr;
08 Output();
09} ;
10 void Stock()};
11 void Output(){cout<<shares <<’:’<<share_val<<end1;}
12 public:
13 //成员函数
14 private:
15 //成员变量
16 int shares;
17 double share_val;
18} ;
19
20 void main(){ //构造三个Stock对象a,b,c
21 Stock a(1);
22 Stock b;
23 Stock c=Stock();
24 //其它代码省略,且代码五输出
25}
程序运行后的输出结果为:
1:3.5
(2)
(3)

【参考答案】

(1) shares(n)
0D代码行修改结果:public:
0F代码行修改结果:Stock(in......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

问答题
试题五 阅读以下说明和C语言函数,将应填入 (n) 处。 [说明] 二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:若它的左子树非空,则左子树上所有结点的值均小于根结点的值;若它的右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二义排序树。 函数insert_BST(char *str)的功能是:对给定的字符序列按照ASCⅡ码值大小关系创建二叉排序树,并返回指向树根结点的指针。序列中重复出现的字符只建一个结点,并由结点中的Count域对字符的重复次数进行计数。 二叉排序树的链表结点类型定义如下: typedef struct BSTNode{ char Elem; *结点的字符数据* int Count; *记录当前字符在序列中重复出现的次数* struct BSTNode *Lch,*Rch; *接点的左、右子树指针* }*BiTree; [函数] {BiTree insert_BST(char *str) BiTree root,parent,p; char (1) ; *变量定义及初始化 * root=(BiTree)malloc(sizeof(struct BSTNode)); if(!root||*s==’ 0’) return NULL; root->Lch=root->Rch=NULL; foot->Count=1; root->Elem=*s++; for(; *s!=’ 0’;s++){ (2) ; parent=NULL; while (p){ *p从树跟结点出发查找当前字符*s所在结点 * parent = p; if(*s==p->Elem) *若树中已存在当前字符结点,则当前字符的计数值加1* {p->Count++; break; else *否则根据字符*s与结点*p中字符的关系,进入*p的左子树或右子树* if (*s>p->Elem) p=p->Rch; else p=p->Lch; } *while* if( (3) ){ * 若树中不存在字符值为*s的结点,则申请结点并插入树中 * p=(BiTree)malloc(sizeof(struct BSTNode)); if(!p)return NULL; p->Lch=p->Rch=NULL; p->Count=1; p->Elem=*s; *根据当前字符与其父结点字符值的大小关系,将新结点作为左子树或右子树插入* if(p->Elem>parent->Elem) (4) =p; else (5) =p; } } *for* return root; }
问答题
试题七 阅读以下应用说明以及用Visual Basic编写的程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【应用说明】 本应用程序的运行窗口中将显示一个简单的模拟时钟如下图所示: 该圆形钟面上有时针、分针和秒针在运动,不断显示系统的当前时间。 在开发该应用时,首先建立一个圆形Shape控件作为钟面(背景为白色)。设圆心为像素坐标(X0,Y0),半径为940。再在圆心处建立一个小的实心圆Shape控件作为轴心。钟面上的刻度3,6,9,12为四个标签。时针、分针、秒针(红色)为线型控件,名称分别为LineH、LineM、LineS,线宽属性值分别为:3,2,1,线长属性值分别为500,700,900。这三个线型控件的起点坐标都固定在(X0,Y0),其终点坐标随转角θ而动态变化: 设置定时器Timer1使该时钟能反映系统的当前时间,其定时间隔为0.5秒,该定时器的Interval属性值应设置为 (1) 。每隔0.5秒,秒针需要调整位置,但分针和时针只是在初始显示时以及在每次秒计数为0时才需要调整位置(可节省计算量)。 【程序代码】 Const Pi = 3.1416 Const X0 = 1750 Const Y0 = 1150 Const LH = 500, LM = 700, LS = 900 Public first As Boolean Private Sub Form_Load() LineS.X1 = X0 秒针的起点位置 LineS.Y1 = Y0 LineM.X1 = X0 分针的起点位置 LineM.Y1 = Y0 LineH.X1 = X0 时针的起点位置 LineH.Y1 = Y0 first = True End Sub Private Sub Timer1_Timer() S = Second(Time) S_seta = Pi * (2) 秒针的转角 LineS.X2 = X0 + LS * Sin(S_seta) 秒针的终点位置 LineS.Y2 = Y0 - LS * Cos(S_seta) If ( (3) ) Then M = Minute(Time) LineM.X2 = X0 + LM * Sin(Pi*M 30) 分针的终点位置 LineM.Y2 = Y0 - LM * Cos(Pi*M 30) H = Hour(Time) If (H >= 12) Then H = H - 12 H_seta = Pi * ( (4) ) 时针的转角 LineH.X2 = X0 + LH * Sin(H_seta) 时针的终点位置 LineH.Y2 = Y0 - LH * Cos(H_seta) first = (5) End If End Sub