注册 登录
编程论坛 VB6论坛

判断一个年份是否是闰年,这段代码老出错,说最后一个else没有if,请问该怎么改

小凤0423 发布于 2014-02-27 15:46, 740 次点击
Private Sub Command1_Click()
Dim y As Integer
y = InputBox("请输入一个年份:")
If (y Mod 4 = 0) Then
If (y Mod 100 <> 0) Then
Print "y" & "是闰年"
Else
If (y Mod 400 = 0) Then
Print "y" & "是闰年"
Else
 Print "y" & "不是闰年"
End If
End If
End If
Else
Print "y" & "不是闰年"
End Sub
9 回复
#2
lowxiong2014-02-27 16:34
Private Sub Command1_Click()
  Dim y As Integer
  y = InputBox("请输入一个年份:")
  If (y Mod 4 = 0) Then
    If (y Mod 100 <> 0) Then
      Print "y" & "是闰年"
    Else
      If (y Mod 400 = 0) Then
        Print "y" & "是闰年"
      Else
        Print "y" & "不是闰年"
      End If
    End If
  End If
  Else
  Print "y" & "不是闰年"   '用缩进的格式方法即可知道红字部分已经在if...end if语句之外了,else没有对应的if和end if
End Sub

对闰年的判断的判断很简单,代码如下
Private Sub Command1_Click()
  Dim y As Integer
  y = InputBox("请输入一个年份:")
  If (y Mod 4 = 0 And y Mod 100 <> 0) Or y Mod 400 = 0 Then
    Print y & "是闰年"
  Else
    Print y & "不是闰年"
  End If
End Sub
#3
owenlu19812014-02-27 16:35
Private Sub run()
If (y Mod 4 = 0) Then
    If (y Mod 100 <> 0) Then
        Print "y" & "是闰年"
    Else
        If (y Mod 400 = 0) Then
            Print "y" & "是闰年"
        Else
            Print "y" & "不是闰年"
        End If
    End If
End if , 移到最后
Else
    Print y & "不是闰年"
End If
End Sub

[ 本帖最后由 owenlu1981 于 2014-2-27 16:38 编辑 ]
#4
小凤04232014-02-27 16:45
回复 2楼 lowxiong
简单的方法我懂,但是感觉那个也行,一直找不到问题,现在算是解决了~谢谢啦
#5
小凤04232014-02-27 16:46
回复 3楼 owenlu1981
原来是错在这里,低级错误,谢啦
#6
owenlu19812014-02-27 16:48
回复 5楼 小凤0423
呵呵  IF多了容易错,做好排版方便检查。
#7
小凤04232014-02-28 16:55
回复 6楼 owenlu1981
新手~啥都不懂
#8
owenlu19812014-02-28 23:04
我也是,一步步来,多练练基础的。
#9
bczgvip2014-03-01 19:52
推荐使用 tab 键。
#10
vbvcr512014-03-05 19:14
看if的位置,end if就放在什么位置。例如if在循环体外,end if就放在循环体外。编程的时候为避免你这种情况,先是把if的结构都写完整,然后里面放代码。这样就绝对不会出错的。

[ 本帖最后由 vbvcr51 于 2014-3-5 19:16 编辑 ]
1