如何用程式VB2005寫出這兩個程式

1.

使用For.....next 寫出2008年月曆,使用者輸入月份程式,以MgsBox顯示出該月份月曆

2.

利用亂數產生1~20間之正整數,以Do while .... loop 迴圈判斷直到使用者輸入正確數值

請各位大大幫我這個忙

Update:

這位大大好像不行捏~~打上去後~執行會有錯捏~~是因為物件導向的關係嗎??

不好意思我才剛學,所以這些對我來說有點困難捏~~

還有第二題老師要我們一定要用 "Do While .....Loop寫捏~這題好像也會有上面那個問題捏

不好意思了大大再次麻煩你了

Update 2:

抱歉大大我們程式的開頭是下面這個不是Sub Main()捏

Public Class Form2

Private Sub BtnMonth_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMonth.Click

這是打程式的地方

End Sub

End Class

2 Answers

Rating
  • Aiolus
    Lv 5
    1 decade ago
    Best Answer

    第一題,用Date內建函數就可以

    Sub Main()

    Console.Write("請輸入月份:")

    Dim Month As Integer = Console.ReadLine()

    Dim Output As String = "日\t一\t二\t三\t四\t五\t六".Replace("\t", vbTab) + vbNewLine

    '算出一個月的開頭是星期幾

    Dim NowDay As Byte = DateValue("2008/" & Month & "/1").DayOfWeek + 1

    '前置空白

    Output += StrDup(NowDay - 1, vbTab)

    For j As Integer = 1 To Date.DaysInMonth(2008, Month)

    Output += j & vbTab

    If NowDay Mod 7 = 0 Then

    Output += vbNewLine

    End If

    NowDay += 1

    Next

    MsgBox(output)

    End Sub

    第二題

    Sub Main()

    Dim Rand As Byte = Rnd() * 19 + 1

    Dim K As Integer

    Dim X As String = Console.ReadLine()

    K = IIf(X = "", 0, X)

    While Not (K = Rand)

    Console.WriteLine("錯了唷")

    X = Console.ReadLine

    K = IIf(X = "", 0, X)

    End While

    Console.WriteLine("對了唷")

    Console.ReadKey()

    End Sub

    2008-10-18 22:36:32 補充:

    ...無言以對,你們沒從Console開始教就直接教表單程式?

    另外,如果可以的話,發問時不要一直用口頭禪...捏什麼..黏土嗎?

    2008-10-18 22:38:33 補充:

    第一題部分,先把Sub Main到End Sub之間的程式抓到你所謂打程式的地方,然後把兩行:

    Console.Write("請輸入月份:")

    Dim Month As Integer = Console.ReadLine()

    換成一行:

    Dim Month As Integer = InputBox("請輸入月份:")

    2008-10-18 22:41:51 補充:

    第二題同樣抓過去,然後:

    1. Dim X As String = Console.ReadLine()

    改成:

    Dim X As String = InputBox("你猜多少?")

    2.X = Console.ReadLine

    改成:

    X = InputBox("還是錯,繼續猜多少?")

    3.刪掉Console.ReadKey()

    4.刪掉Console.WriteLine("錯了唷")

    5.Console.WriteLine("對了唷")

    改成:

    MsgBox("對了唷")

  • 1 decade ago

    今天脾氣很大喔~

    來個填填看還是連連看~

Still have questions? Get your answers by asking now.