史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   VB寫成績問題 (http://forum.slime.com.tw/thread240005.html)

u8810329 2008-12-06 08:41 PM

VB寫成績問題
 
Public Class Form1
Inherits System.Windows.Forms.Form
Dim Grade(5, 6) As Object

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load
Grade(1, 1) = "小玫"
Grade(1, 2) = 98 '國文常識
Grade(1, 3) = 72 '計算機概論
Grade(1, 4) = 82 '動力學
Grade(1, 5) = 73 '或然率
Grade(1, 6) = 76 '體育

Grade(2, 1) = "小茹"
Grade(2, 2) = 89
Grade(2, 3) = 92
Grade(2, 4) = 86
Grade(2, 5) = 93
Grade(2, 6) = 82

Grade(3, 1) = "小君"
Grade(3, 2) = 63
Grade(3, 3) = 70
Grade(3, 4) = 60
Grade(3, 5) = 54
Grade(3, 6) = 70

Grade(4, 1) = "小雅"
Grade(4, 2) = 72
Grade(4, 3) = 68
Grade(4, 4) = 74
Grade(4, 5) = 82
Grade(4, 6) = 70

Grade(5, 1) = "小嫻"
Grade(5, 2) = 86
Grade(5, 3) = 82
Grade(5, 4) = 68
Grade(5, 5) = 70
Grade(5, 6) = 64

Button1.Text = "找出動力學最高分"
Button2.Text = "找出或然率最低分"
Button3.Text = "求出全班總平均"
End Sub

其實上面不是重點

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Button1.Click
Dim Max As Integer = 0
Dim Who As Integer<=為什麼明明是字串他可以顯示為名字呢
Dim I As Integer
For I = 1 To 5 If Grade(I, 4) >= Max Then
Max = Grade(I, 4)
Who = I
End If
Next
MsgBox("動力學最高分是:" & Grade(Who, 1))
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Button2.Click
Dim Min As Integer = 100
Dim Who As Integer
Dim I As Integer
For I = 1 To 5
If Grade(I, 5) < Min Then
Min = Grade(I, 5)
Who = I
End If
Next
MsgBox("或然率最低分是:" & Grade(Who, 1))
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Button3.Click
Dim Sum As Integer
Dim Cnt As Integer
Dim I, J As Integer
For I = 1 To 5
For J = 2 To 6
Sum += Grade(I, J)
Cnt += 1
Next
Next
MsgBox("全班總平均是:" & (Sum / Cnt))
End Sub
End Class
謝謝大家能夠為我解答喔
:on_66:

rank 2008-12-06 11:20 PM

語法:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Button1.Click
Dim Max As Integer = 0
Dim Who As Integer<=為什麼明明是字串(整數吧....)他可以顯示為名字呢
Dim I As Integer
For I = 1 To 5 If Grade(I, 4) >= Max Then
Max = Grade(I, 4)
Who = I
End If
Next
MsgBox("動力學最高分是:" & Grade(Who, 1))
End Sub

因為Grade(Who, 1)是字串,當然顯示出名字

Living 2008-12-07 02:56 AM

因為WHO只是一個數字去表現你ARRAY裡的資料
Grade(I, 4)
那個I就是WHO
至於ARRAY找出符合的資料則是字串
所以WHO AS INTEGER是沒錯的


所有時間均為台北時間。現在的時間是 05:23 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1