8月19/20日 Excel函数实战100例 300集Office 2010微视频教程
8月9/10日 Excel函数实战技巧精粹 高效办公必会的Office实战技巧
8月28/29日 财务会计玩转Excel 网易云课堂-Excel数据透视表应用大全
Excel数据处理与分析实战技巧第1季
查看: 726|回复: 148

零基础VBA 第十一期 第四课时作业贴

[复制链接]
发表于 2017-7-17 18:38:20 | 显示全部楼层 |阅读模式
本帖最后由 开心妙妙 于 2017-7-24 10:16 编辑

交作业的要求:

1、不需要附件,只需贴代码,说明你做的是哪道题
2、贴上的代码都需要缩进,并且关键语句要有注释
3、请在添加代码文字,那里添加代码,这样代码在楼层中显得赏心悦目。不知道怎样操作的小伙伴,可以参照看动画。
220018fes3q5y9d9ojy3iq.gif
回复

使用道具 举报

发表于 2017-7-17 23:03:45 | 显示全部楼层
  1. Sub 作业1()

  2. Dim a As Long, b As Long 'a,b分别代表语文成绩和音乐成绩
  3.    
  4.     a = 90
  5.     b = 79
  6.    
  7.         If (a >= 90 And b >= 80) Or (a = 100 And b >= 70) Then
  8.                 MsgBox 100
  9.         End If
  10.         
  11. End Sub
复制代码
  1. <div>Sub 作业2()
  2. Dim a As Long, b As Long
  3.     a = 20
  4.     b = 90
  5.    
  6.         If a Mod b = 0 Or a + b > 100 Then
  7.                 MsgBox a
  8.         Else: MsgBox b</div><div>
  9. </div><div>End If
  10.             
  11. End Sub</div>
复制代码

  1. Sub 作业3()
  2.     Dim name As String, mima As String
  3.     name = InputBox("请输入用户名")
  4.    
  5.     If name <> "小明" Then
  6.             MsgBox "用户名不存在"
  7.     Else
  8.             mima = InputBox("请输入密码")
  9.     End If
  10.    
  11.         If mima <> 888888 Then
  12.                 MsgBox "密码错误"
  13.         Else
  14.                 MsgBox "登录成功"
  15.         End If
  16.         
  17.    
  18. End Sub
复制代码

  1. Sub 作业四()

  2. Dim gongzi As Long, ji As String

  3.     gongzi = 5000
  4.     ji = "E"

  5.     Select Case ji
  6.         Case Is = "A"
  7.                 gongzi = gongzi + 500
  8.         Case Is = "B"
  9.                 gongzi = gongzi + 200
  10.         Case Is = "D"
  11.                 gongzi = gongzi - 200
  12.         Case Is = "E"
  13.                 gongzi = gongzi - 500
  14.         End Select
  15.         
  16.         MsgBox "李四来年的工资为:" & gongzi
  17.         
  18. End Sub
复制代码

  1. Sub 猜数游戏雏形() '进一步了:如果输入的数字在合理范围外,就不进行判断。
  2.     Dim num As Long, guessNum As Long
  3.     guessNum = Val(InputBox("请输入1-10之间的一个整数来猜"))
  4.     num = WorksheetFunction.RandBetween(1, 10) '生成了一个随机的1-10 之间的数
  5.    
  6.     Select Case guessNum
  7.         Case Is < num
  8.                 MsgBox "小了,小了,小了"
  9.         Case Is = num
  10.                 MsgBox "恭喜你,猜对了!"
  11.         Case Is > num
  12.                 MsgBox "大了,大了,大了"
  13.         End Select
  14.         
  15. End Sub
复制代码



点评

第四题:Case Is = "A",可以直接Case "A"这样子,可以参考SelectCase多分支结构,判断天气的语句,会显得更优雅  发表于 2017-7-19 11:56
第三题的mima变量类型建议用变体型,这样可以避免在什么都没输的情况下,显示"运行时错误,类型不匹配",不运行的情况  发表于 2017-7-19 11:53
第三题:判断结构不正确,将第二个if....end if 嵌在mima = InputBox("请输入密码")后面,这样才不会账户错误的情况下还要去判断密码。  发表于 2017-7-19 11:52
回复 支持 反对

使用道具 举报

发表于 2017-7-17 23:15:46 | 显示全部楼层
本帖最后由 fzamx2016 于 2017-7-17 23:18 编辑

Sub 作业1()
    Dim 语文 As Long, 音乐 As Long
    语文 = 91
    音乐 = 98
        If 语文 >= 90 And 音乐 >= 80 Or 语文 = 100 And 音乐 >= 70 Then MsgBox "奖励100元。"
End Sub


Sub 作业2()
    Dim a As Long, b As Long
    a = 89
    b = 11
        If a Mod b = 0 Or a + b > 100 Then
            MsgBox a
        Else
            MsgBox b
        End If
End Sub


Sub 作业3()
    Dim 姓名 As String, 密码 As String
    姓名 = InputBox("请输入用户名")
        If 姓名 = "小明" Then
            密码 = InputBox("请输入密码")
            If 密码 = "888888" Then
            MsgBox "登陆成功"
            Else
            MsgBox "登陆失败"
            End If
        Else
            MsgBox "用户名不存在"
        End If
End Sub


Sub 作业4()
    Dim 评定 As String, 基本工资 As Long
    评定 = InputBox("请输入评定")
         Select Case 评定
         Case Is = "A"
             MsgBox "来年工资为" & 5000 + 500
         Case Is = "B"
             MsgBox "来年工资为" & 5000 + 200
         Case Is = "C"
             MsgBox "来年工资为" & 5000
         Case Is = "D"
             MsgBox "来年工资为" & 5000 - 200
         Case Is = "E"
             MsgBox "来年工资为" & 5000 - 500
         End Select
End Sub

Sub 作业5()
    Dim num As Long, guessNum As Long
    guessNum = Val(InputBox("请输入1-10之间的一个整数来猜"))
    num = WorksheetFunction.RandBetween(1, 10)
        If guessNum >= 0 And guessNum <= 10 Then
            If guessNum < num Then
                MsgBox "小了小了"
            ElseIf guessNum = num Then
                MsgBox "猜对了"
            Else
                MsgBox "大了,大了"
            End If
        End If
End Sub

点评

全部正确,赞!!!!  发表于 2017-7-22 14:58
作业4:Case Is = "A"如果是Case "A" 这样,会不会更优雅些呢?  发表于 2017-7-22 14:57
回复 支持 反对

使用道具 举报

发表于 2017-7-17 23:16:29 | 显示全部楼层
本帖最后由 鱼生 于 2017-7-22 21:25 编辑
  1. Sub 作业1()
  2.     Dim 语文成绩 As Integer, 音乐成绩 As Integer
  3.     语文成绩 = 89
  4.     音乐成绩 = 89
  5.     If 语文成绩 >= 90 And 音乐成绩 > 80 Then
  6.         MsgBox "奖励100元"
  7.     ElseIf 语文成绩 = 100 And 音乐成绩 >= 70 Then
  8.         MsgBox "奖励100元"
  9.     End If
  10.    
  11. End Sub
  12. Sub 作业2()
  13.     Dim a As Long, b As Long
  14.     a = 95
  15.     b = 3
  16.     If a Mod b = 0 Or a + b > 100 Then
  17.         MsgBox a
  18.     Else
  19.         MsgBox b
  20.     End If
  21.    
  22. End Sub
  23. Sub 作业3()
  24.     Dim n1 As String, n2 As String
  25.     n1 = InputBox("请输入用户名")
  26.     If n1 = "小明" Then
  27.         n2 = InputBox("请输入密码")
  28.             If n2 = "888888" Then
  29.                 MsgBox "登陆成功。"
  30.             Else
  31.                 MsgBox "密码错误,登录失败。"
  32.             End If
  33.     Else
  34.         MsgBox "用户名不存在"
  35.     End If
  36.            
  37. End Sub


  38. Sub 作业4()
  39.     Select Case InputBox(" 李四的绩效成绩")
  40.     Case "A"
  41.         MsgBox "李四来年的工资:" & 5000 + 12 * 500 & "元"
  42.     Case "B"
  43.         MsgBox "李四来年的工资:" & 5000 + 12 * 200 & "元"
  44.     Case "C"
  45.         MsgBox "李四来年的工资:" & 5000 + 12 * 0 & "元"
  46.     Case "D"
  47.         MsgBox "李四来年的工资:" & 5000 - 12*200 & "元"
  48.     Case "E"
  49.         MsgBox "李四来年的工资:" & 5000 - 12*500 & "元"
  50.     End Select
  51.    
  52. End Sub


  53. Sub 作业5()
  54.     Dim num As Long, guessNum As Long
  55.     guessNum = Val(InputBox("请输入1-10之间的一个整数来猜"))
  56.     num = WorksheetFunction.RandBetween(1, 10)
  57.     If guessNum <= 10 Then
  58.         If guessNum = num Then
  59.             MsgBox "猜对了"
  60.         ElseIf guessNum > num Then
  61.             MsgBox "大了,大了"
  62.         ElseIf guessNum < num Then
  63.             MsgBox "小了,小了"
  64.         End If
  65.     End If
  66.    
  67. End Sub
复制代码

点评

作业1-3:正确,赞!  发表于 2017-7-22 15:35
作业5:条件顺序,建议从大到小或从小到大的顺序判断  发表于 2017-7-22 15:35
作业4:为什么+500要*12,而-500又不需要呢? 如果想计全年的,A级是不是应该(5000+500)*12,而E级是(5000-500)*12才是正确的  发表于 2017-7-22 15:32
回复 支持 反对

使用道具 举报

发表于 2017-7-17 23:16:55 | 显示全部楼层
本帖最后由 vinapu 于 2017-7-17 23:34 编辑
  1. Sub 作业1()
  2.        Dim 语文 As Long, 音乐 As Long
  3.            语文 = 100
  4.            音乐 = 60
  5.        If (语文 >= 90 And 音乐 >= 80) Or (语文 = 100 And 音乐 >= 70) Then
  6.            MsgBox "奖励100元钱"
  7.        Else
  8.            MsgBox "没有奖励"
  9.        End If
  10. End Sub

  11. Sub 作业2()
  12.        Dim a As Integer, b As Integer
  13.            a = 10
  14.            b = 3
  15.        If a / b = Int(a / b) Or a + b > 100 Then
  16.            MsgBox "a"
  17.        Else
  18.            MsgBox "b"
  19.        End If
  20. End Sub

  21. Sub 作业3()
  22.        Dim user As String, code As Long
  23.            user = InputBox("enter username")
  24.        If user = "小明" Then
  25.            code = InputBox("enter code")
  26.            If code = 888888 Then
  27.               MsgBox "login success"
  28.            Else
  29.               MsgBox "login fail"
  30.            End If
  31.        Else
  32.            MsgBox "login fail"
  33.        End If
  34. End Sub

  35. Sub 作业4()
  36.        Dim class As String, salary As Long
  37.            class = "a"
  38.            salary = 5000
  39.        Select Case class
  40.        Case Is = "a"
  41.            MsgBox salary + 500
  42.        Case Is = "b"
  43.            MsgBox salary + 200
  44.        Case Is = "c"
  45.            MsgBox salary
  46.        Case Is = "d"
  47.            MsgBox salary - 200
  48.        Case Is = "e"
  49.            MsgBox salary - 500
  50.        End Select
  51. End Sub

  52. Sub 作业5()
  53.        Dim num As Long, guessNum As Long
  54.        guessNum = Val(InputBox("请输入1-10之间的一个整数来猜"))
  55.        num = WorksheetFunction.RandBetween(1, 10)
  56.        MsgBox num
  57.        If guessNum <= 10 Then
  58.            If guessNum > num Then
  59.                MsgBox "larger"
  60.            ElseIf guessNum < num Then
  61.                MsgBox "smaller"
  62.            ElseIf guessNum = num Then
  63.                MsgBox "right"
  64.            End If
  65.        Else
  66.            MsgBox "the number is out of 1-10"
  67.        End If
  68. End Sub
复制代码

点评

作业2:a / b = Int(a / b)可以 a mod b=0这样子  发表于 2017-7-22 15:39
回复 支持 反对

使用道具 举报

发表于 2017-7-17 23:29:38 | 显示全部楼层
  1. Sub 学习成绩条件奖励()
  2.     Dim 语文 As Integer, 音乐 As Integer, is奖励 As Boolean
  3.     语文 = 100
  4.     音乐 = 80
  5.     is奖励 = (语文 >= 90 And 音乐 >= 80) Or (语文 = 100 And 音乐 >= 70)
  6.    
  7.     If is奖励 Then
  8.         MsgBox "奖励100元钱"
  9.         Else
  10.         MsgBox "加油吧,小子"
  11.     End If
  12.    
  13. End Sub
复制代码
  1. Sub 按条件输出()
  2.     Dim a As Long, b As Long
  3.     a = 43
  4.     b = 21
  5.     If a Mod b = 0 Or a + b > 100 Then
  6.         MsgBox a
  7.     Else
  8.         MsgBox b
  9.     End If
  10.    
  11.    
  12. End Sub
复制代码
  1. Sub 登录()
  2.     Dim 用户名 As String, 密码 As Long
  3.     用户名 = InputBox("请输入用户名")
  4.     If 用户名 = "小明" Then
  5.         密码 = InputBox("请输入密码")
  6.         If 密码 = 888888 Then
  7.             MsgBox "登陆成功"
  8.         Else
  9.             MsgBox "登陆失败"
  10.         End If
  11.     Else
  12.         MsgBox "当前用户不存在"
  13.    
  14.     End If


  15. End Sub
复制代码
  1. Sub 年终绩效()
  2.     Dim 基本工资 As Long
  3.     Dim 绩效 As String
  4.     基本工资 = 5000
  5.    
  6.     绩效 = "F"
  7.    
  8.     Select Case 绩效
  9.     Case Is = "A"
  10.         MsgBox "来年工资为" & 基本工资 + 500 & "元"
  11.     Case Is = "B"
  12.         MsgBox "来年工资为" & 基本工资 + 200 & "元"
  13.     Case Is = "C"
  14.         MsgBox "来年工资为" & 基本工资 + 0 & "元"
  15.     Case Is = "D"
  16.         MsgBox "来年工资为" & 基本工资 - 200 & "元"
  17.     Case Is = "E"
  18.         MsgBox "来年工资为" & 基本工资 - 500 & "元"
  19.   
  20.     End Select
  21.    

  22. End Sub
复制代码
  1. Sub 猜数游戏雏形()
  2.     Dim num As Long, guessNum As Long
  3.     guessNum = Val(InputBox("请输入1-10之间的一个整数来猜"))
  4.     num = WorksheetFunction.RandBetween(1, 10)
  5. If guessNum <= 10 Then
  6.         If guessNum = num Then
  7.             MsgBox "你真行,猜对了"
  8.         ElseIf guessNum > num Then
  9.             MsgBox "大了,大了"
  10.            
  11.         Else
  12.             MsgBox "小了,小了"
  13.             
  14.         End If
  15.     Else
  16.        MsgBox "请输入10以内数字"
  17.     End If
  18.    
  19. End Sub
复制代码


点评

正确,赞!!!!!  发表于 2017-7-22 16:03
作业4: class = "a"可以这样 class "a" 是不是更优雅呢?  发表于 2017-7-22 16:00
回复 支持 反对

使用道具 举报

发表于 2017-7-17 23:55:54 | 显示全部楼层
本帖最后由 师小五 于 2017-7-24 20:01 编辑
  1. <div class="blockcode"><blockquote>Option Explicit


  2. '作业1: 张三的语文成绩大于等于90分并且音乐成绩大于等于80分 或者 语文等于100 分,
  3. '音乐大于等于70 分 则奖励 100 元。
  4. Sub 奖励()
  5.     Dim 语文 As Long, 音乐 As Long
  6.     语文 = CLng(InputBox("张三的语文成绩是:"))
  7.     音乐 = CLng(InputBox("张三的音乐成绩是:"))
  8.     If (语文 >= 90 And 音乐 >= 80) Or (语文 = 100 And 音乐 >= 70) Then
  9.         MsgBox "张三的奖励是100元"
  10.     End If
  11.       
  12. End Sub



  13. '作业2: 已知两个数,如果a 能被b 整除 或者 a+b >100 就输出 a 否则就输出 b
  14. ' a/b 没有余数
  15. Sub ab()
  16.     Dim a#, b#
  17.     a = Cells(3, 3).Value
  18.     b = Cells(3, 4).Value
  19.     If (a Mod b = 0) Or (a + b > 100) Then
  20.         MsgBox a
  21.     Else
  22.         MsgBox b
  23.     End If
  24.    
  25. End Sub

  26. '作业3: 提示输入用户名,如果用户名不等于 “小明”, 就提示用户名不存在 。
  27. '否则提示输入密码: 如果密码不等于”888888”, 则提示密码错误,登录失败。
  28. '否则提示登录成功
  29. Sub 小明的登录()
  30.     Dim name$, sn, i%, o%
  31.     For i = 1 To 3
  32.     name = InputBox("请输入用户名:")
  33.         If name = "小明" Then
  34.             For o = 1 To 3
  35.             sn = UCase(InputBox("请输入6-8位数字登录密码:"))
  36.                 If sn = 888888 Then
  37.                     MsgBox "登录成功!"
  38.                     Exit Sub
  39.                 Else
  40.                     MsgBox "密码错误,请重新输入密码!"
  41.                 End If
  42.             Next
  43.             
  44.             GoTo 100
  45.             
  46.         Else
  47.             MsgBox "用户名不正确或用户不存在!"
  48.         End If
  49.     Next
  50. 100
  51.     MsgBox "你的输入已经超过三次,请30分钟后再重新开始!"
  52. End Sub

  53. '作业4: 年终评定,绩效工资,如果评定为A 每月工资加500,如果为B 每月工资加200
  54. '如果为C 不变,如果为D 降薪200 如果为E 降薪500。李四基本工资为5000,根据评
  55. '定计算他来年的工资。用 Select Case
  56. Sub 李四工资()
  57.     Dim 评定$
  58.     评定 = InputBox("请对李四今年的工作进行年终评定:")
  59.     Select Case 评定
  60.     Case "A"
  61.         MsgBox "李四明年工资拟定为5500元"
  62.     Case "B"
  63.         MsgBox "李四明年工资拟定为5200元"
  64.     Case "C"
  65.         MsgBox "李四明年工资拟定为5000元"
  66.     Case "D"
  67.         MsgBox "李四明年工资拟定为4800元"
  68.     Case Else
  69.         MsgBox "李四明年工资拟定为4500元"
  70.     End Select
  71.    
  72. End Sub

  73. '作业5:猜数游戏雏形,输入1-10 之间的整数
  74. Sub 猜数游戏雏形() '进一步了:如果输入的数字在合理范围外,就不进行判断。
  75.     Dim num As Long, guessNum As Long, i%
  76.     num = WorksheetFunction.RandBetween(1, 10) '生成了一个随机的1-10 之间的数
  77.     For i = 1 To 10
  78.     guessNum = Val(InputBox("请输入1-10之间的一个整数来猜"))
  79.    
  80.         If guessNum < num Then '第一判断如果你输入的数比电脑生成的数小:就输出小了小了
  81.             MsgBox "小了,小了!"
  82.         ElseIf guessNum = num Then
  83.             MsgBox "你猜对了!"  '如果相等 就输出猜对了
  84.             Exit For
  85.         Else
  86.             MsgBox "大了,大了!" '如果比电脑的数大,就输出大了,大了
  87.         End If
  88.      Next
  89.      i = 10 - i
  90.      Select Case i
  91.      Case Is >= 9
  92.         MsgBox "太棒了,你是我见过的最优秀的!"
  93.      Case Is >= 8
  94.         MsgBox "不错啊,你的成绩足够骄傲了。"
  95.      Case Is >= 6
  96.         MsgBox "干得不错,加油。"
  97.      Case Else
  98.         MsgBox "还要再来一次吗?"
  99.      End Select
  100.      
  101. End Sub


  102. Sub 奇数和()

  103. Dim i&, j&

  104.   For i = 1 To 100 Step 2
  105.       j = i + j
  106.   Next
  107.       MsgBox j
  108. End Sub
复制代码

点评

不错,你的成绩足够骄傲!  发表于 2017-7-22 16:38
作业4: InputBox("请对李四今年的工作进行年终评定:")这里可以考虑用:ucase(InputBox("请对李四今年的工作进行年终评定:"))这样,会更友好些。  发表于 2017-7-22 16:31
作业3:用sn#类型不建议。比较严谨的话,用变体型,当什么也没输的时候不会产生类型错误,无法运行  发表于 2017-7-22 16:28
回复 支持 反对

使用道具 举报

发表于 2017-7-18 00:18:30 | 显示全部楼层
本帖最后由 天地十方 于 2017-7-19 22:41 编辑
  1. Sub 作业1()
  2.     Dim yw As Integer, yy As Integer, a As Boolean
  3.     yw = 90
  4.     yy = 70
  5.     a = (yw >= 90 And yy >= 80) Or (yw = 100 And yy >= 70) '判断
  6.     If a = True Then MsgBox "张三成绩优秀," & vbNewLine & "奖励100元"
  7.       
  8. End Sub

  9. Sub 作业2()
  10.     Dim a As Long, b As Long
  11.     a = 40
  12.     b = 200
  13.     If a Mod b = 0 Or a + b > 100 Then
  14.         MsgBox a
  15.     Else
  16.         MsgBox b
  17.     End If
  18. End Sub

  19. Sub 作业3()
  20.     Dim name As String, mm As String
  21.     name = InputBox("请输入用户名")
  22.     mm = InputBox("请输入密码")
  23.     If name = "小明" Then
  24.         If Val(mm) = 888888 Then
  25.             MsgBox "登录成功"
  26.         Else
  27.             MsgBox "密码错误,登录失败"
  28.         End If
  29.     Else
  30.         MsgBox "用户名不存在"
  31.     End If
  32. End Sub

  33. Sub 作业4()
  34.     Dim kpi As String
  35.     kpi = "C"
  36.     Select Case kpi
  37.     Case "A"
  38.         MsgBox "李四明年的工资为" & 5000 + 500
  39.     Case "B"
  40.         MsgBox "李四明年的工资为" & 5000 + 200
  41.     Case "C"
  42.         MsgBox "李四明年的工资为" & 5000
  43.     Case "D"
  44.         MsgBox "李四明年的工资为" & 5000 - 200
  45.     Case "E"
  46.         MsgBox "李四明年的工资为" & 5000 - 500
  47.     End Select
  48. End Sub

  49. Sub 猜数游戏雏形() '作业5
  50.     Dim num As Long, guessNum As Long
  51.     guessNum = Val(InputBox("请输入1-10之间的一个整数来猜"))
  52.     num = WorksheetFunction.RandBetween(1, 10) '生成了一个随机的1-10 之间的数
  53.     If guessNum >= 1 And guessNum <= 10 Then '限定范围
  54.         If guessNum = num Then
  55.             MsgBox "猜对了"
  56.         ElseIf guessNum < num Then
  57.             MsgBox "小了小了"
  58.         Else
  59.             MsgBox "大了大了"
  60.         End If
  61.     End If
  62. End Sub
复制代码


点评

全部正确,除了作业3有小缺陷  发表于 2017-7-22 17:08
判断顺序从大到小或从小到大,这样不容易出错  发表于 2017-7-22 17:07
作业3:24行语句,应放在 If name = "小明" Then的后面。实际工作中,如果name都不正确,就不需要输入密码了,对吧  发表于 2017-7-22 17:03
回复 支持 反对

使用道具 举报

发表于 2017-7-18 09:46:25 | 显示全部楼层
  1. Sub 第一题张三成绩()
  2.     Dim 语文 As Long, 音乐 As Long
  3.     语文 = 90
  4.     音乐 = 80
  5.     If 语文 >= 90 And 音乐 >= 80 Then
  6.         MsgBox "奖励100元"
  7.     ElseIf 语文 = 100 And 音乐 >= 70 Then
  8.         MsgBox "奖励100元"
  9.     Else
  10.         MsgBox "没有奖励"
  11.     End If
  12.    
  13. End Sub


  14. Sub 作业二()
  15.     Dim a As Integer, b As Integer
  16.     a = 1
  17.     b = 2
  18.     If a + b > 100 And a / b = 0 Then
  19.         MsgBox "a"
  20.     Else
  21.         MsgBox "b"
  22.     End If
  23.    
  24.    
  25. End Sub

  26. Sub 作业3()
  27.     Dim a As String, b As Long
  28.     a = InputBox("请输入用户名")
  29.    
  30.     If a = "小明" Then
  31.        b = InputBox("请输入密码")
  32.         If b = 888888 Then
  33.               MsgBox "登陆成功"
  34.          ElseIf b <> 888888 Then
  35.               MsgBox "密码错误登录失败"
  36.          ElseIf a <> "小明" Then
  37.               MsgBox "用户不存在"
  38.          
  39.         End If
  40.     End If
  41.    
  42. End Sub


  43. Sub 作业4()
  44.     Select Case InputBox("请输入评级")
  45.         Case "A", "a"
  46.         MsgBox "李四来年薪资为" & 5000 + 500
  47.         Case "B", "b"
  48.         MsgBox "李四来年薪资为" & 5000 + 200
  49.         Case "C", "c"
  50.         MsgBox "李四来年薪资为" & 5000
  51.         Case "D", "d"
  52.         MsgBox "李四来年薪资为" & 5000 - 200
  53.         Case "E", "e"
  54.         MsgBox "李四来年薪资为" & 5000 - 500
  55.     End Select
  56.    
  57. End Sub


  58. Sub 猜数游戏雏形() '进一步了:如果输入的数字在合理范围外,就不进行判断。
  59.     Dim num As Integer, guessNum As Integer
  60.     guessNum = Val(InputBox("请输入1-10之间的一个整数来猜"))
  61.     num = WorksheetFunction.RandBetween(1, 10) '生成了一个随机的1-10 之间的数
  62.      If guessNum < 1 Or guessNum > 10 Then '如果输入的数字在合理范围外,就不进行判断。
  63.         MsgBox "无法识别"
  64.          ElseIf guessNum = num Then '如果相等 就输出猜对了
  65.             MsgBox "猜对了"
  66.          ElseIf guessNum > num Then '第一判断如果你输入的数比电脑生成的数小:就输出大了大了
  67.             MsgBox "大了,大了"
  68.          ElseIf guessNum < num Then
  69.             MsgBox "小了,小了" '第一判断如果你输入的数比电脑生成的数小:就输出小了小了
  70.         
  71.      End If
  72.    
  73.    
  74. End Sub
复制代码

点评

作业1、作业4正确,作业5:结果正确。建议判断顺序从大到小或从小到大这样子  发表于 2017-7-22 17:21
MsgBox "用户不存在",是第一个IF的判断语句,要放在42行END IF的后面。这个判断不需,ElseIf b <> 888888 Then,除了等于,就是不等于了,直接else就可以了。  发表于 2017-7-22 17:17
作业2:a / b = 0,这样不能表达能否被整除哦,应该是这样:a mod b = 0的  发表于 2017-7-22 17:12
回复 支持 反对

使用道具 举报

发表于 2017-7-18 11:42:26 | 显示全部楼层
第一题:
  1. Sub 张三奖励()
  2.     Dim yuwen As Long, yinyue As Long
  3.     yuwen = InputBox("请输入张三的语文成绩")
  4.     yinyue = InputBox("请输入张三的音乐成绩")
  5.     If (yuwen >= 90 And yinyue >= 80) Or (yuwen = 100 And yinyue >= 70) Then
  6.         MsgBox ("张三奖励100元")
  7.     End If


  8. End Sub
复制代码
第二题:
  1. Sub 两个数()
  2.     Dim a As Long, b As Long
  3.     a = InputBox("请输入第一个数a")
  4.     b = InputBox("请输入第一个数b")
  5.     If (a / b = 0 Or a + b >= 100) Then
  6.         MsgBox a
  7.     Else
  8.         MsgBox b
  9.     End If


  10. End Sub
复制代码
第三题:
  1. Sub 用户名和密码()
  2.     Dim usename As String, password As String
  3.     usename = InputBox("请输入用户名")
  4.     If usename = "小明" Then
  5.         password = InputBox("请输入密码")
  6.         If password <> "888888" Then
  7.             MsgBox ("密码错误,登录失败")
  8.         End If
  9.     Else
  10.         MsgBox ("用户不存在")
  11.    
  12.     End If

  13. End Sub
复制代码
第四题:
  1. Sub 来年工资()
  2.     Dim dengji As String, jiben As Long
  3.     jiben = 5000
  4.     dengji = InputBox("请输入李四的评定等级")
  5.     Select Case dengji
  6.     Case "A"
  7.         MsgBox ("李四的来年工资是" & jiben + 500)
  8.     Case "B"
  9.         MsgBox ("李四的来年工资是" & jiben + 200)
  10.     Case "C"
  11.         MsgBox ("李四的来年工资是" & jiben)
  12.     Case "D"
  13.         MsgBox ("李四的来年工资是" & jiben - 200)
  14.     Case "E"
  15.         MsgBox ("李四的来年工资是" & jiben - 500)
  16.     End Select

  17. End Sub
复制代码
第五题:
  1. Sub 猜数游戏雏形() '进一步了:如果输入的数字在合理范围外,就不进行判断。
  2.     Dim num As Long, guessNum As Long
  3.     guessNum = Val(InputBox("请输入1-10之间的一个整数来猜"))
  4.     num = WorksheetFunction.RandBetween(1, 10) '生成了一个随机的1-10 之间的数
  5.    
  6.     If guessNum >= 1 And guessNum <= 10 Then
  7.         If guessNum < num Then
  8.             MsgBox ("小了,小了") '第一判断如果你输入的数比电脑生成的数小:就输出小了小了
  9.         ElseIf guessNum = num Then '如果相等 就输出猜对了
  10.             MsgBox ("猜对了")
  11.       
  12.         Else
  13.             MsgBox ("大了,大了")  '如果比电脑的数大,就输出大了,大了
  14.    
  15.         End If
  16.     Else
  17.         MsgBox ("请输入界于1到10之间的整数")
  18.    
  19.     End If
  20.    
  21. End Sub
复制代码


点评

作业1、作业3-5:正确,赞!  发表于 2017-7-22 17:27
作业2:a / b = 0,这样不能表达能否被整除哦,应该是这样:a mod b = 0的  发表于 2017-7-22 17:22
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 入学

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表