知道這些資料
要怎麼寫程式
我一點頭緒都沒有
能幫幫忙嗎~
^^
ps.答案是172嗎
我亂作一個出來 答案是172不知道是不是
但是用很投機的方法
也就是 只要那個月的1號是星期日
13號就會是黑色星期五
不知道對不隊
--
[1;31mO [1;32mr [1;33mi [1;34mg [1;35mi [1;36mn [1;31m: [1;36m<不良牛牧場> [1;33mzoo.ee.ntu.edu.tw [1;32m(140.112.18.36) [m
[1;32mWelcome to SimFarm BBS [1;36m-- [m [1;31mFrom : [ [m210.240.197.118 [1;31m] [m
我現在的程式
Dim a
Private Sub Form_Activate()
For i = 2001 To 2100
For j = 1 To 12
b = getWeekday(i, j)
If b = 1 Then
a = a + 1
End If
Next j
Next i
Print "21世紀有"; a; "個黑色星期五"
End Sub
Private Sub Form_Load()
a = 0
End Sub
Function getWeekday(pnYear, pnMonth)
getWeekday = Weekday(DateSerial(pnYear, pnMonth, 1))
End Function
form_load裡的a=0不需要 自定function也可以省略
關於判斷式可以改成像下面這樣:
If Weekday(DateSerial(i, j, 13)) = 6 Then
a = a + 1
End If
剩下的對妳來說 應該不成問題了吧^^
※ 引述《sammig...@zoo.ee.ntu.edu.tw (與可樂為好友)》之銘言:
[1;32m┌───── [33m◆ [37mKKCITY [33m◆ [32m─────┐ [34m┐┌┐┐┌┐┌─┐┌┬┐┌┬┐┐ ┌ [m
[1;32m│ [31m bbs.kkcity.com.tw [32m│ [37m├┘┐├┘┐│ │ │ └┬┘ [m
[1;32m└── [34m《 [0;37mFrom:61.64.172.190 [1;34m》 [32m──┘ [36m┘ ┘┘ ┘└─┘└┴┘ ┴ ┴ [m
我現在作了
可以輸入幾年到幾年的
不知道對不對 哪些需要在改進?
(四個Command 三個文書盒)
' -->程式簡單說明<--
'整個程式 輸入的西元設計為1萬以下 因為現在也才西元2002年
'如果輸入的起始年代數字比終止年代數字大 則顯示-->起始、終止年代不正確
Dim n
Private Sub Command1_Click()
a = Val(Text1.Text)
b = Val(Text2.Text)
If a <= 10000 And b <= 10000 Then
If b >= a Then
For i = a To b Step 1
For j = 1 To 12
If Weekday(DateSerial(i, j, 13)) = 6 Then '判斷13號是否為星期五
n = n + 1
End If
Next j
Next i
Text3.Text = n
Else
MsgBox "起始、終止年代不正確", 48, "錯誤訊息"
End If
Else
MsgBox "起始、終止年代通常四位數或四位以下", 48, "錯誤訊息"
End If
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = "" '按此鍵能重新輸入
End Sub
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = "" '按此鍵能全部清除
End Sub
Private Sub Command4_Click()
End '按此鍵結束程式
End Sub
: ※ 引述《sammig...@zoo.ee.ntu.edu.tw (與可樂為好友)》之銘言:
: > 172這個答案是我做2001~2100年總共的次數
: > 但希望可以在更進階 可以是有空格(兩個 哪一年到哪一年)能輸入西元幾年
: > 算出幾個黑色星期五
: > 我現在的程式
: > Dim a
: > Private Sub Form_Activate()
: > For i = 2001 To 2100
: > For j = 1 To 12
: > b = getWeekday(i, j)
: > If b = 1 Then
: > a = a + 1
: > End If
: > Next j
: > Next i
: > Print "21世紀有"; a; "個黑色星期五"
: > End Sub
: > Private Sub Form_Load()
: > a = 0
: > End Sub
: > Function getWeekday(pnYear, pnMonth)
: > getWeekday = Weekday(DateSerial(pnYear, pnMonth, 1))
: > End Function
--
[1;31mO [1;32mr [1;33mi [1;34mg [1;35mi [1;36mn [1;31m: [1;36m<不良牛牧場> [1;33mzoo.ee.ntu.edu.tw [1;32m(140.112.18.36) [m
[1;32mWelcome to SimFarm BBS [1;36m-- [m [1;31mFrom : [ [mip197118.ntctc.edu.tw [1;31m] [m
※ 引述《sammig...@zoo.ee.ntu.edu.tw (與可樂為好友)》之銘言:
> (謝謝你的幫忙唷 不過我只是一星期上兩個小時半的新手 這學期開始上的)
> 我現在作了
> 可以輸入幾年到幾年的
> 不知道對不對 哪些需要在改進?
> (四個Command 三個文書盒)
> ' -->程式簡單說明<--
> '整個程式 輸入的西元設計為1萬以下 因為現在也才西元2002年
> '如果輸入的起始年代數字比終止年代數字大 則顯示-->起始、終止年代不正確
> Dim n
^^^^^
這個要放在Command1_Click()裡面
> Private Sub Command1_Click()
dim n
> a = Val(Text1.Text)
> b = Val(Text2.Text)
> If a <= 10000 And b <= 10000 Then
10000會錯誤 所以「=」拿掉
> If b >= a Then
If a > 99 Xor b > 99 Then MsgBox "不可跨百", 48, "錯誤訊息": Exit Sub
If a < -1900 Then MsgBox "西元100年之前無法計算", 48, "錯誤訊息": Exit Sub
If a > 29 Xor b > 29 Then MsgBox "不可跨30", 48, "錯誤訊息": Exit Sub
--
[1;32m┌───── [33m◆ [37mKKCITY [33m◆ [32m─────┐ [34m┐┌┐┐┌┐┌─┐┌┬┐┌┬┐┐ ┌ [m
[1;32m│ [31m bbs.kkcity.com.tw [32m│ [37m├┘┐├┘┐│ │ │ └┬┘ [m
[1;32m└── [34m《 [0;37mFrom:61.64.173.42 [1;34m》 [32m──┘ [36m┘ ┘┘ ┘└─┘└┴┘ ┴ ┴ [m