引用 | 編輯
a0910980869
2009-12-08 16:48 |
樓主
▼ |
||
x2
這兩題我不知該怎麼著手請大大幫幫我!!題目如下: 一、寫一個程式顯示如下的金字塔圖案: 需要的物件有:Label *1 二、請用Light01.gif~Light03.gif( 、 、 ) 寫一個燈 .. 訪客只能看到部份內容,免費 加入會員 x0
|
引用 | 編輯
x09818
2009-12-11 11:08 |
1樓
▲ ▼ |
||||||||||
題目分析:
我把結果分成3段 1.填補空白:因為有15層所以第一行填補15-1=14個.第二行填補15-2=13個...以此類推~ 解:程式04-07行以一個迴圈 由1到 (n-i) 來填補空白~ 2.產生順向字串:第一行1個.第二行2個....~ 解:程式08行~利用行數取個位數~累加形成 3.產生反向字串:第一行0個.第二行1個....~ 解:利用順向字串少取1位重複字[Mid(tempstr, 1, Len(Str(tempstr)) - 2)].再作字串反轉[StrReverse]即可. 複製程式 01 Dim n As Integer = 15 02 Dim tempstr As String = "" 03 Label1.Text = "" 04 For i As Integer = 1 To n 05 For j As Integer = 1 To (n - i) 06 Label1.Text &= " " 07 Next 08 tempstr &= Mid(Str(i), Len(Str(i)), 1) 09 Label1.Text &= tempstr & StrReverse(Mid(tempstr, 1, Len(Str(tempstr)) - 2)) & vbCrLf 10 Next 如果Label1屬性text預設為空白 則第3行可以省略 如果Label1屬性textalign預設為topcenter 則第5~7行可以省略 如果預設只有15層 則第1行可以省略 變數n改為15 反之~要9層..則第1行=15改為=9 ps.大於15層.因為字串長度計算會出問題「字串長度計算因素」~至於為何~請高手詳解吧~ 另依照題目分析.程式也可以用陣列下去寫~請各位同學練習吧~ 個人解法~請先進指導~
x1 |
引用 | 編輯
x09818
2009-12-11 11:45 |
2樓
▲ ▼ |
||||||||||
依照你的題目解
直接一步一步驅動timer就好~ 程式原碼有點長.不過可以設定到小時.分.秒.毫秒. 而且是倒數~ 複製程式 Dim hour, minisec, sec, min As Integer Private Sub Form3_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load hour = 0 min = 0 sec = 5 minisec = 0 Timer1.Enabled = True End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Timer1.Enabled = True minisec -= 1 If minisec < 0 Then sec -= 1 : minisec = 60 If sec < 0 Then min -= 1 : sec = 59 If min < 0 Then hour -= 1 : min = 59 If hour < 0 Then hour = 0 End If End If End If Label1.Text = sec + 1 PictureBox1.Visible = True PictureBox2.Visible = False PictureBox3.Visible = False If hour = 0 And min = 0 And sec = 0 And minisec = 0 Then Timer1.Enabled = False sec = 3 Timer2.Enabled = True End If End Sub Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick Timer2.Enabled = True minisec -= 1 If minisec < 0 Then sec -= 1 : minisec = 60 If sec < 0 Then min -= 1 : sec = 59 If min < 0 Then hour -= 1 : min = 59 If hour < 0 Then hour = 0 End If End If End If Label1.Text = sec + 1 PictureBox1.Visible = False PictureBox2.Visible = True PictureBox3.Visible = False If hour = 0 And min = 0 And sec = 0 And minisec = 0 Then Timer2.Enabled = False sec = 6 Timer3.Enabled = True End If End Sub Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick Timer3.Enabled = True minisec -= 1 If minisec < 0 Then sec -= 1 : minisec = 60 If sec < 0 Then min -= 1 : sec = 59 If min < 0 Then hour -= 1 : min = 59 If hour < 0 Then hour = 0 End If End If End If Label1.Text = sec + 1 PictureBox1.Visible = False PictureBox2.Visible = False PictureBox3.Visible = True If hour = 0 And min = 0 And sec = 0 And minisec = 0 Then Timer3.Enabled = False sec = 5 Timer1.Enabled = True End If End Sub ps. timer屬性interval設為1「如此才能動作到毫秒」 預設PictureBox1-3分別為紅.黃.綠燈圖片.屬性Visible預設為False
x0 |
引用 | 編輯
saisai123321
2010-05-04 10:12 |
3樓
▲ |
有冇console ge 寫
x0 |