作者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