史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 軟體應用問題討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2002-12-11, 02:37 PM   #1
5865307
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
Cool VB的程式請教高手

求救啊...VB的程式請教高手
查詢可以改變大小 排序那不行...
不知哪裡寫錯了?






Dim n(50) As String
Dim c(50) As Integer
Dim e(50) As Integer
Private Sub Command1_Click()

w = InputBox("學生數")

For i = 1 To w
n(i) = InputBox("請輸入姓名:", "請輸入姓名")
c(i) = InputBox("請輸入國文成績:", "請輸入成績")
e(i) = InputBox("請輸入英文成績:", "請輸入成績")
Next i

End Sub

Private Sub Command2_Click()

If Option1.Value Then
Font.Size = 12
ElseIf Option2.Value Then
Font.Size = 16
Else
Font.Size = 18
End If

If Option4.Value Then
Font.Italic = False
Font.Bold = False
ElseIf Option5.Value Then
Font.Italic = True
Font.Bold = False
ElseIf Option6.Value Then
Font.Italic = False
Font.Bold = True
Else
Font.Italic = True
Font.Bold = True
End If

a = InputBox("請輸入姓名:", "輸入姓名")
b = ""
d = 0
For i = 1 To 50
If n(i) = a Then
b = n(i)
d = c(i)
f = e(i)
End If
Next i

If b = "" Then
Print "資料錯誤!!"
Else

Cls

Print "姓名: " & b & " 國文成績: " & d & "英文: " & f

End If


End Sub

Private Sub Command3_Click()

If Option1.Value Then
Font.Size = 12
ElseIf Option2.Value Then
Font.Size = 16
Else
Font.Size = 18
End If

If Option4.Value Then
Font.Italic = False
Font.Bold = False
ElseIf Option5.Value Then
Font.Italic = True
Font.Bold = False
ElseIf Option6.Value Then
Font.Italic = False
Font.Bold = True
Else
Font.Italic = True
Font.Bold = True
End If

Dim a As String
Dim b As Integer
Dim h As Integer

FontSize = 14
w = InputBox("學生數")

Cls

For i = w - 1 To 0 Step -1
For j = 0 To i
If c(j) < c(j + 1) Then
a = n(j)
b = c(j)
h = e(j)
n(j) = n(j + 1)
c(j) = c(j + 1)
e(j) = e(j + 1)
n(j + 1) = a
c(j + 1) = b
e(j + 1) = h
End If
Next j
Next i

Cls

For z = 0 To w - 1

Print " 名次: " & z + 1 & " 姓名: " & n(z) & " 成績: " & c(z) & " 英: " & e(z) & " 平均: " & (c(z) + e(z)) / 2

Print
Next z

End Sub
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2002-12-11, 03:45 PM   #2 (permalink)
5865307
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

不好意思...推一下
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2002-12-11, 09:27 PM   #3 (permalink)
xyzu
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

陣列的元素應該是從0~49吧...
也就是說n(50)
則i要用0 to 49才對...
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2002-12-11, 09:43 PM   #4 (permalink)
長老會員
榮譽勳章
UID - 548
在線等級: 級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時
註冊日期: 2002-12-06
住址: 桃園
文章: 8606
現金: 1491 金幣
資產: 1183995 金幣
預設

For i = 0 To w-1
For j = i To w
If c(i) < c(j) Then
a = n(i)
b = c(i)
h = e(i)
n(i) = n(j)
c(i) = c(j)
e(i) = e(j)
n(j) = a
c(j) = b
e(j) = h
End If
Next j
Next i

試試看,不過您c(n)到底是平均還是國文成績啊???

<參考>
__________________
地獄變現記
[人身得來不易,願大家能尊重生命--勿傷胎命][好淫者請好自為之吧--割鳥]
南泉禪師道:
道不屬知,不屬不知。知是妄覺,不知是無記。若真達不疑之道,猶如太虛,廓然蕩豁,豈可強是非邪?」
德山宣鑒禪師:
「如果明白無事,則勿妄求,妄求而得,亦非得也。汝但無事於心,無心於事,則虛而靈,空而妙。若毛端許,言之本末者,皆為自欺。何故?毫氂繫念,三塗業因。瞥爾情生,萬劫羈鎖。聖名凡號,盡是虛聲。殊相劣形,皆是幻色。汝欲求之,得無累乎?」
不知道 目前離線  
送花文章: 5469, 收花文章: 5341 篇, 收花: 24549 次
回覆時引用此帖
舊 2002-12-12, 11:54 AM   #5 (permalink)
kpopo
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

試試這個吧!
For i = 0 To w-1
if c(i+1)="" then exit for
If c(i) < c(i+1) Then
swap n(i),n(i+1)
swap c(i),c(i+1)
swap e(i),e(i+1)
i=0
End If
Next i
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
請問諾頓2004的問題 andymail 軟體應用問題討論區 8 2004-01-20 07:40 PM


所有時間均為台北時間。現在的時間是 09:56 PM


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


SEO by vBSEO 3.6.1