广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 18788 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
a0910980869
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x2 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x2
[Basic][求助] 求教学VB2008 数字金字塔&红绿灯[已解决]
这两题我不知该怎么着手请大大帮帮我!!
题目如下:
一、写一个程式显示如下的金字塔图案:
             
需要的物件有:Label *1
   
二、请用Light01.gif~Light03.gif( 、 、   )
写一个灯 ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



[ 此文章被a0910980869在2009-12-16 15:40重新编辑 ]


献花 x0 回到顶端 [楼 主] From:台湾教育部 | Posted:2009-12-08 16:48 |
x09818
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x3 鲜花 x23
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
Re:数字金字塔
题目分析:
我把结果分成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层.因为字串长度计算会出问题「字串长度计算因素」~至于为何~请高手详解吧~
另依照题目分析.程式也可以用阵列下去写~请各位同学练习吧~
个人解法~请先进指导~


本帖包含附件
zip 1.rar   (2022-06-09 14:13 / 10 KB)  
说明: 执行结果
下载次数:38

此文章被评分,最近评分记录
财富:50 (by 三仙) | 理由: ^^ 因为您的参与,让程式设计更容易!!


献花 x1 回到顶端 [1 楼] From:台湾中华电信 | Posted:2009-12-11 11:08 |
x09818
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x3 鲜花 x23
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
Re:红绿灯
依照你的题目解
直接一步一步驱动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


本帖包含附件
zip 2.rar   (2022-06-09 14:13 / 12 KB)  
说明: 执行结果
下载次数:64


献花 x0 回到顶端 [2 楼] From:台湾中华电信 | Posted:2009-12-11 11:45 |
saisai123321
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x32
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

有冇console ge 写


献花 x0 回到顶端 [3 楼] From:未知地址 | Posted:2010-05-04 10:12 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.102674 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言