作者JustRyo225 (绮琦)
看板Visual_Basic
标题[请问] VB6成绩系统?
时间Sun Mar 28 20:12:19 2010
※ [本文转录自 ask 看板]
作者: JustRyo225 (绮琦) 站内: ask
标题: [请问] VB6成绩系统?
时间: Sat Mar 27 18:43:34 2010
最近在试着做一个VB成绩系统
score = Val(InputBox("SCORE=?"))
Rem m是最小值,s是总分,a是平均,n是人数
m = 100: s = 0: a = 0: n = 0
Text1.Text = "你打的资料:"
Do Until score = -99
Text1.Text = Text1.Text & score & Space(3)
s = s + score
n = n + 1
If score < m Then m = score
score = Val(InputBox("SCORE=?"))
g1 = 0: g2 = 0: g3 = 0: g4 = 0: g5 = 0
Select Case score
Case 90 To 100 '优
g1 = g1 + 1
Case 80 To 89 '甲
g2 = g2 + 1
Case 70 To 79 '乙
g3 = g3 + 1
Case 60 To 69 '丙
g4 = g4 + 1
Case Else '不及格
g5 = g5 + 1
End Select
Loop
a = s / n
If Check2.Value = 1 Then Text1.Text = "最低分是 " & m & "分"
If Check1.Value = 1 Then Text1.Text = "平均分是 " & a & "分"
If Check3.Value = 1 Then Text1.Text = Text1 & vbCrLf & "优有" & g1 & "人" _
vbCrLf & "甲有" & g2 & "人" _
vbCrLf & "乙有" & g3 & "人" _
vbCrLf & "丙有" & g4 & "人" _
vbCrLf & "不及格有" & g5 & "人" _
标色的地方是有错...
但我试了好几次要怎麽改呢?
还有第二题....
产生乱数~
Print "产生15到27之乱数"
Randomize Timer
For i = 1 To 10
Rnd
Print Int(Rnd * 13) + 15
Next i
End Sub
例如出来的数是
15
15
24
21
23
18
26
22
21
20
那如果我还要程式出来的结果是
15有2个
21有2个.....
要怎麽打呢?
以上谢谢板友m(__ __)m
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.37.53.61
※ 编辑: JustRyo225 来自: 114.37.53.61 (03/27 18:44)
1F:→ OrzOGC:有VB版 03/27 20:02
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.37.60.129
2F:推 meto000:1.Text1 & vbCrLf的那个Text1是哪来的? 03/28 21:38
3F:→ meto000:2.先把取得的乱数放进阵列,再来作比对 03/28 21:38
4F:→ meto000: 或者另外开15-27的阵列,每取得一个乱数就在那个位置加1 03/28 21:39
5F:→ JustRyo225:第二题用for? 03/28 22:16
6F:推 UniFish:应该是Text1.text= Text1.text & .... 03/29 02:37
7F:→ UniFish:而且你的g1~g5没有宣告,预设为integer..到後面要变成字串 03/29 02:38
8F:→ r31422009:vbCrLf & "甲有"每行前面都少了 & ,最後一行多了 _ 03/29 07:38