问答题


从下列3道试题(试题5至试题7)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。
阅读以下应用说明及Visual Basic程序代码,根据要求回答问题1至问题4。
【说明】
某学期成绩管理系统的“增、删、改数据表中的记录”对话框如图1-19所示。


图1-19对话框中共定义了6个标签、6个文本框、4个命令按钮和1个Data数据控件。其中Data数据控件是Visual Basic的标准控件。利用它能方便地创建应用程序与数据库之间的连接,并实现对数据资源的访问。【添加】(cmdAdd)按钮用于向学生成绩数据表添加一条空记录:【修改】(cmdEdit)按钮用于修改当前所显示的一条数据记录:命令按钮【删除】(cmdDelete)用于删除当前显示的一条数据记录;单击【退出】(cmdExit)按钮,系统将退出图1-19所示的对话框。
表1-13是学生成绩表结构的示例;表1-14是学生成绩表的示例。
图1-19将表1-14数据库中的记录信息显示到相应的文本框中。要在各文本框(txtStu(i),i=0,1,2,3,4,5)中显示Data数据控件所连接的数据表中的数据,必须将文本框与Data数据控件进行绑定。
表1-13 学生成绩表结构
字段名 类型 大小    字段名 类型 大小
班级 Text 6 语文 Integer 2(默认)
学号 Text 8 数学 Integer 2(默认)
姓名 Text 10 英语 Integer 2(默认)

                                             表1-14 学生成绩示例表
班级 学号 姓名 语文 数学 英语
A A40001 张薇 95 86 90
B B40001 谢新 67 71 81
A A40002 刘红 94 89 86
C C40001 张斌 78 88 86
【Visual Basic程序】
Private Sub Form_Load()
For i = 0 To 5
txtStu(i).Locked = True
Next i
End Sub
Private Sub cmdAdd Click()
cmdEdit.Enabled = Not cmdEdit.Enabled
(1)
For i = 0 To 5
txtStu(i) .Locked = Not txtStu(i).Locked
Next i
If cmdAdd. Caption = "添加" Then
(2)
Datal.Caption = "新记录"
cmdAdd.Caption = "保存"
cmdExit.Caption = "取消"
txtStu(0).SetFocus
Else
Datal.Recordset.Update
(3)
cmdAdd.Caption = "添加"
End If
End Sub
Private Sub cmdEdit_Click()
cmdAdd. Enabled = Not cmdAdd. Enabled
cmdDelete. Enabled = Not cmdDelete. Enabled
For i = 0 To 5
txtStu(i).Locked = Not txtStu(i).Locked
Next i
If cmdEdit.Caption = "修改" Then
Datal.Recordset.Edit
cmdEdit.Caption = "保存"
cmdExit.Caption = "取消"
Else
(4)
cmdEdit.Caption = "修改"
End If
End Sub
Private Sub cmdDelete_Click()
answer = MsgBox("确实删除该记录吗", vbYesNo + vbQuestion, "警告")
If answer = vbYes Then
Datal.Recordset.Delete
(5)
If Datal.Recordset.EOF Then
(6)
End If
End If
End Sub
Private Sub cmdExit_Click()
If cmdExit.Caption = "退出" Then
End
Else
(7)
cmdAdd. Enabled= True
cmdEdit.Enabled = True
cmdDelete. Enabled= True
For i = 0 To 5
txtStu(i).Locked = Not txtStu(i).Locked
Next i
cmdExit.Caption = "退出"
cmdAdd.Caption = "添加"
cmdEdit.Caption = "修改"
(8)
End If
End Sub
Private Sub Datal_Reposition()
Datal.Caption = "第" & (9) .AbsolutePosition + 1& "条记录"
End Sub 【问题1】 请根据【说明】和图1-19的显示结果,从以下备选答案中为(1)~(9)空缺处选择正确的答案。(以下部分选项可重复选择) 【备选答案】
A.Datal.Refresh
B.Datal.Recordset.Update
C.Datal.Recordset
D.Datal.Recordset.CancelUpdate
E.Datal.Recordset.AddNewF.Datal.Recordset.MoveNextG.Datal.Recordset.MoveLastH.cmdDelete.Enabled=NotcmdDelete.Enabled

【参考答案】

(1)H或cmdDelele.Enabled = Not cmdDelete.Enabled (2)E或Datal.Re......

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

问答题
【说明】用创建Thread类的子类的方法实现多线程,判断一个数是否是素数。如果是,打印“是素数”,如果不是,则打印“不是素数”;如果没有参数输入,显示“请输入一个命令行参数”。【Java程序】import java.io.* ;public class TestThread{ Java Application主类public static void main(Sting args[ ]){if (args length<l) { 要求用户输入一个命令行,否则程序不能进行下去system.out.println( 请输入一个命令行参数 );system.exit(0) ;} 创建用户Thread子类的对象实例,使其处于NewBorn状态primeThread getPrimes = new primeThread (Integer.parseInt(args[0]));getPrimes.start () ; 启动用户线程,使其处于Runnable状态while(getPrimes.isAlive()&& getPrimes.ReadyToGoOn() ) {system.out.println( Counting the prime number.. n ); 说明主线程在运行try {Thread. sleep (500); 使主线程挂起指定毫秒数,以便用户线程取得控制权, sleep是static的类方法}Catch(InterruptedException e) { sleep方法可能引起的异常,必须加以处理return ;}} while循环结束System.out.println ( 按任意键继续…… ) ; 保留屏幕,以便观察try {(1) ;}Catch(IOException e) { }} main方法结束}class primeThread extends Thread { 创建用户自己的Thread子类run()中实现程序子线程操作boolean m_bContinue=true; 标志本线程是继续int m_nCircleNum ; 循环的上限prime Thread(int Num){ 构造函数m_nCircleNum =Nam;}boolean ReadyToGoOn () { 判断本线程是否继续执行return ( (2) );}public void run () { 继承并重载父类Thread的run ()方法,在该线程被启动时自动执行int number =3;boolean flag=true;while (true) { 无限循环for( (3) ; i++) 检查number是否为素数if(number %i==0)(4) ;system, out. println (flag);if (flag) 打印该数是否为素数的信息system,out.print in (number+ 是素数 ) ;elsesys rem.out.print In (number+ 是素数 ) ;number++ ; 修改number的数值,为下一轮素数检查做准备if (number> m_nCircleNum) { 到达要求检查数值的上限m_bCont inue= false ; 则准备结束此线程return ; 结束run()方法,结束线程}(5) ;try{ 经过一轮检查之后,暂时休眠一段时间sleep(500); 使主线程挂起指定毫秒数,以便父线程取得控制权}Catch(InterruptedException e) {Return;}} for循环结束} while循环结束} run()方法结束} primeThread类定义结束
问答题
【说明】以下【C++程序】用于实现两个多项式的乘积运算。多项式的每一项由类Item描述,而多项式由类List描述。类List的成员函数主要有:createList():创建按指数降序链接的多项式链表,以表示多项式:reverseList():将多项式链表的表元链接顺序颠倒:multiplyList(ListL1,ListL2)计算多项式L1和多项式L2的乘积多项式。【C++程序】#include <iostream.h>class List;class Item {friend class List;private:double quot ;int exp ;Item *next;Public:Item(double_quot,int_exp){ (1) ;}};class List{private:Item *list;Public:List(){list=NULL:}void reverseList();void multiplyList(List L1,List L2);void createList();};void List::createList(){ Item *p,*U,*pre;int exp;double quot;list = NULL;while (1) {cout << 输入多项式中的一项(系数、指数) : << endl;cin >> quot >> exp:if ( exp<0 )break ; 指数小于零,结束输入if ( quot=0 )continue;p = list;while ( (2) ) { 查找插入点pre = p;p = p->next;}if ( p != NULL && exp = p->exp ) {p->quot += quot;continue ;}u = (3) ;if (p == list)list = u;elsepre->next = u;u ->next = p;}}void List::reverseList(){ Item *p, *u;if ( list==NULL )return;p = list ->next;list -> next = NULL;while ( p != NULL) {u = p -> next;p ->next = list;list = p;p = u;}}void List::multiplyList ( List L1, List L2 ){ Item *pL1,*pL2,*u;int k, maxExp;double quot;maxExp = (4) :L2.reverseList();list=NULL;for ( k = maxExp;k >= 0;k-- ){pL1 = L1.list;while ( pL1 != NULL && pL1 -> exp > k )pL1 = pL1 ->next;pL2 = L2.1ist;while (pL2 NULL && (5) )pL2 = pL2 -> next;quot = 0.0;while (pL1 != NULL && pL2 != NULL){if(pL1->exp+pL2->exp==k) {(6) pL1 = pL1 -> next;pL2 = pL2 -> next;} else if ( pL1 -> exp + pL2 -> exp > k )pL1 = pL1 -> next;elsepL2 = pL2 -> next;}if ( quot !=0.0 ) {u = new item( quot, k );u -> next = list;list = u;}}reverseList ();L2. reverseList ():}void main(){ List L1,L2,L;cout << 创建第一个多项式链表 n ;L1.createList();cout << 创建第二个多项式链表 n ;L2.createList();L.multiplyList (L1,L2);}