【電腦軟體設計】電腦軟體設計-丙級-術科測驗2站-第2題 - 東哥的G3之戀 - udn部落格
東哥的G3之戀
作家:東哥(沉浸在幸福裡!)
文章分類
    Top
    【電腦軟體設計】電腦軟體設計-丙級-術科測驗2站-第2題
    2010/02/22 19:48:19
    瀏覽:1701
    迴響:0
    推薦:4
    引用0


    解題程式



    Option Base 1   '宣告陣列指標由1開始
    Sub swap(X, Y)          '定義一個有兩個參數的副程式,X和Y互換
         Z = X
         X = Y
         Y = Z
    End Sub
    Private Sub Command1_Click()

    Dim Q(5), s(4)          '宣告陣列變數Q(5)預備讀取外部檔案的5個欄位,s(4)四種車型的車流量
    Class = Array("大型車", "中型車", "小型車", "公務車")  '宣告陣列變數,並直接指定車輛種類




    Open "A:\940307.SM1" For Input As #1             '開啟外部檔案
    Do While Not EOF(1)                              '判讀是否為檔案結尾
       Input #1, Q(1), Q(2), Q(3), Q(4), Q(5)        '讀取外部檔案的資料

       For i = 1 To 4
           s(i) = s(i) + Q(i + 1)                    '計算各種車輛的車流量
           total = total + s(i)                      '計算全部車輛的總車流量
       Next i

    Loop  '讀檔迴圈結尾




    For i = 1 To 3
      For j = i + 1 To 4
          If s(i) > s(j) Then                        '比大小如果後者比前者小則
             Call swap(s(i), s(j))                   '呼叫副程式Swap,車流量互換
             Call swap(Class(i), Class(j))           '呼叫副程式Swap,車種名稱互換
          End If
       Next j
    Next i



    Frame2.Caption = "依車輛種類"                            '將結果框的名稱改為依車輛種類

    For i = 1 To 4
        A(i - 1) = Class(i)                                  '文字標籤A改為車類種類的名稱
        C(i - 1).Width = 60000 * s(i) / total                '設定圖條的長度
        B(i - 1) = Format(s(i), "###,###")                   '設定車流量的數字加上千分位
        B(i - 1).Left = C(i - 1).Left + C(i - 1).Width + 100 '設定車流量數字擺放的位置
    Next i


    '車輛類別只有四種所以將沒用到的標籤及圖條隱藏起來
    For i = 5 To 7
        A(i - 1).Visible = False
        B(i - 1).Visible = False
        C(i - 1).Visible = False
    Next i

    Close #1






    End Sub

    Private Sub Command2_Click()

    '宣告陣列變數Q(5)讀取外部檔案的5個欄位,s(7)星期別的車流量
    Dim Q(5), s(7)
                                
    '宣告陣列,並直接指定星期別至陣列中
    week = Array("一", "二", "三", "四", "五", "六", "日")





    Open "d:\940307.SM1" For Input As #1            '開啟外部檔案
    Do While Not EOF(1)                             '判斷是否為檔案結尾
       Input #1, Q(1), Q(2), Q(3), Q(4), Q(5)       '讀取外部變數
      
       i = (InStr("MOTUWETHFRSASU", Mid(Q(1), 1, 2)) + 1) / 2 '判斷星期幾並指定指標變數
      
       For j = 2 To 5                                  '計算某一天的車流量
           s(i) = s(i) + Q(j)
       Next j
          total = total + s(i)              '計算總車流量
     
    Loop


    Frame2.Caption = "依星期別"                            '將結果框的名稱改為依星期別
    For i = 1 To 7
     A(i - 1) = "星期" & week(i)                          '文字標籤A改為星期別名稱
     C(i - 1).Width = 20000 * s(i) / total                '設定圖條的長度
     B(i - 1) = Format(s(i), "###,###")                   '設定車流量的數值加上千分位
     B(i - 1).Left = C(i - 1).Left + C(i - 1).Width + 100 '設定車流量數字擺放的位置
     A(i - 1).Visible = True                              '將隱藏的標籤及圖條顯現出來
     B(i - 1).Visible = True
     C(i - 1).Visible = True
    Next i

    Close #1                                      '關閉檔案


    End Sub


    執行畫面



     

    回應
    發表迴響

    會員登入