我买了未来教育考试的二级VB,因为今年开始要无纸化,所以想了下还是买了一套来做,这个软件有自动评分,真的是各种问题啊,最严重的一个问题是有这样一个题目算水仙花数,我评分出来后觉得很奇怪,这个简单应用题两个小题我就得了12分,错误信息是out4.dat源文件不存在,我那个纳闷啊,整个题目都没有一句out4.dat。然后我复制了标准答案,再删了另外一个题目的答案,再评一次分,我的简单应用题就直接0分了,也就是说我这个算水仙花数的题目是0分啊,我就没有这个out4.dat,你至于么。于是我就看了好久这个题目的标准答案,终于找出了这个out4.dat在模块里面,但是也想不出到底为什么,详细如下:
(1)在考生文件夹下有一个工程文件sjt3.vbp,其功能是:
①单击"读数据"按钮,则将考生文件夹下in3.dat文件中的100个0到999之间的整数读入到数组a中;
②单击"计算"按钮,则找出这100个整数中的所有水仙花数,并将它们的最大值与最小值分别显示在文本框Text1、Text2中。(注:当一个数的值等于该数中的各位数字的立方和时,此数被称为水仙花数。如: 所以153就是一个水仙花数)
在窗体文件中已经给出了全部控件(如图所示)和"读数据"命令按钮的事件过程以及判断一个数是否为水仙花数的通用过程。要求编写"计算"命令按钮的事件过程。
注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行前,必须进行"计算",并且必须通过单击窗体右上角的"关闭"按钮结束程序,否则无成绩。最后,程序按原文件名存盘。
程序提供代码:
Dim a(100) As Integer
Private Sub Command1_Click()
Dim k As Integer
Open App.Path & "\in3.dat" For Input As #1
For k = 1 To 100
Input #1, a(k)
Next k
Close #1
End Sub
Private Sub Command2_Click()
'需考生编写
End If
Next i
Text1 = max
Text2 = min
End Sub
'以下Function 过程用于判断某数是否为水仙花数
Function isnarc(p As Integer)
x = Fix(p / 100)
y = Fix((p - x * 100) / 10)
z = p - x * 100 - y * 10
If p = x ^ 3 + y ^ 3 + z ^ 3 Then
isnarc = True
Else
isnarc = False
End If
End Function
Private Sub Form_Unload(Cancel As Integer)
Open App.Path & "\out3.dat" For Output As #1
Print #1, Val(Text1.Text)
Print #1, Val(Text2.Text)
Close #1
End Sub
还有一个模块代码:
Sub unload_sub()
Open "out4.dat" For Output As #1
Print #1, Val(Form1.Cb1.Text), Val(Form1.Text1.Text)
Close #1
End Sub
标准答案我就不写了,写要超字数的