6月5/6日 Excel函数实战技巧精粹 300集Office 2010微视频教程
5月7日 Excel VBA开发实战 高效办公必会的Office实战技巧
5月6日 Excel透视表实战秘技 网易云课堂-Excel数据透视表应用大全
Excel数据处理与分析实战技巧第1季
查看: 4274|回复: 97

零基础9期 第五课作业贴

  [复制链接]
发表于 2017-2-22 23:07:09 | 显示全部楼层 |阅读模式
本帖最后由 唐伯狼 于 2017-2-24 21:12 编辑


第五课作业总结

整体完成不错,基本达到了训练目的.  存在几个问题,主要存在于最后一题


最后一题   大家可以参考9楼 13楼 16楼同学的作业,先计算  工资  最后用一个msgbox输出,而不是每个分支都用一个msgbox输出
大家体会这之间的差别

有一些同学   基本工资没有设变量,直接用5000为基数, 更有甚者  直接输出计算结果,都很不好
代码要方便后期维护,如果题目把基本工资改成6000,只需要改一下基本工资变量的初始值即可,如果用5000写代码,要改的地方太多了
其次,计算的工作要交给计算机
回复

使用道具 举报

发表于 2017-2-22 23:29:06 | 显示全部楼层
本帖最后由 南瓜奶酪汤 于 2017-4-10 15:45 编辑

复制代码
  1. Sub 作业1()
  2.     Dim 用户名 As String, 密码 As Long
  3.     用户名 = InputBox("请输入用户名")
  4.     If 用户名 <> "小明" Then
  5.         MsgBox ("用户名不存在")
  6.     Else
  7.         密码 = Val(InputBox("请输入密码"))
  8.         If 密码 = 888888 Then
  9.             MsgBox ("登录成功")
  10.         Else
  11.             MsgBox ("密码错误,登录失败")
  12.         End If
  13.     End If
  14. End Sub
复制代码
  1. Sub 作业2()
  2.     Dim 年龄 As Integer, 提问 As String
  3.     年龄 = Val(InputBox("请输入您的年龄"))
  4.     Select Case 年龄
  5.     Case Is >= 18
  6.         MsgBox ("您可以看R级电影")
  7.     Case Is > 16
  8.         MsgBox ("您可以看NC-17级电影")
  9.     Case Is >= 13
  10.         提问 = MsgBox("请问您是否有家里大人陪同观看", vbYesNo)
  11.             If 提问 = vbYes Then
  12.                 MsgBox ("您可以看PG-13级电影")
  13.             Else
  14.                 MsgBox ("您可以看PG级电影")
  15.             End If
  16.    Case Else
  17.         MsgBox ("您可以看G级电影")
  18.    End Select
  19. End Sub
复制代码
  1. Sub 作业3()
  2.     Dim 绩效 As String, 工资 As Long
  3.     绩效 = InputBox("请输入李四的绩效评定结果")
  4.     工资 = 5000
  5.     Select Case 绩效
  6.     Case "A", "a"
  7.         MsgBox ("每月工资" & 工资 + 500)
  8.     Case "B", "b"
  9.         MsgBox ("每月工资" & 工资 + 200)
  10.     Case "C", "c"
  11.         MsgBox ("每月工资" & 工资)
  12.     Case "D", "d"
  13.         MsgBox ("每月工资" & 工资 - 200)
  14.     Case "E", "e"
  15.         MsgBox ("每月工资" & 工资 - 500)
  16.     Case Else
  17.         MsgBox ("请输入正确的绩效评定结果。")
  18.     End Select
  19. End Sub
复制代码

点评

作业3 做的不好 先计算工资 最后用一个msgbox输出  发表于 2017-2-24 20:29
回复 支持 反对

使用道具 举报

发表于 2017-2-23 00:53:01 | 显示全部楼层

RE: 零基础9期 第五课作业贴


  1. <P>Sub 作业1()
  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</P>
  11. <P>      Else
  12.            MsgBox "用户名不存在"

  13.       End If
  14. End Sub

  15. Sub 作业2()
  16.        Dim 年龄 As Long, 陪同否 As String
  17.        年龄 = Val(InputBox("请输入年龄"))
  18.        If 年龄 < 13 Then
  19.              MsgBox "可以看G级电影"
  20.        ElseIf (年龄 > 13 And 年龄 <= 16) Then '为什么输入"13<=年龄<=16"运行就会跳过这行?
  21.             陪同否 = MsgBox("是否有家里大人陪同?", vbYesNo)
  22.             If 陪同否 = vbYes Then
  23.                    MsgBox "可以看PG-13级电影"
  24.             Else
  25.                    MsgBox "可以看PG 级电影"
  26.             End If
  27.       ElseIf (年龄 > 16 And 年龄 < 18) Then
  28.             MsgBox "可以看NC-17级电影"
  29.       ElseIf 年龄 >= 18 Then
  30.       MsgBox "可以看R 级电影"
  31.       End If
  32. End Sub


  33. Sub 作业3()
  34.      Dim 年终评定 As String, 基本工资 As Long
  35.      基本工资 = 5000
  36.      年终评定 = InputBox("请输入绩效评定")
  37.      Select Case 年终评定
  38.      Case "A"
  39.            MsgBox (基本工资 + 500)
  40.     Case "B"
  41.           MsgBox (基本工资 + 200)
  42.     Case "C"
  43.          MsgBox 基本工资
  44.     Case "D"
  45.          MsgBox (基本工资 - 200)
  46.     Case "E"
  47.          MsgBox (基本工资 - 500)
  48.     End Select
  49. End Sub</P>
复制代码

点评

作业2 是select case 练习  发表于 2017-2-24 20:30
回复 支持 反对

使用道具 举报

发表于 2017-2-23 09:28:58 | 显示全部楼层
  1. '模拟登录: 提示你输入用户名
  2. '如果你的用户名不是小明---用户名不存在
  3. '否则让你输入密码
  4. '如果密码 888888 提示密码正确,登录成功
  5. '密码错误,登录失败
  6. <p style="line-height: 30px; text-indent: 2em;"></p>
  7. Sub 登录()
  8.        Dim 用户名 As String, key As Long, iskey As Boolean
  9.        用户名 = InputBox("请输入用户名")
  10.        If 用户名 = "小明" Then
  11.             key = InputBox("请输入密码") '给key赋值
  12.             iskey = (key = 888888) '给iskey赋值ture or false
  13.             If iskey Then
  14.                  MsgBox "密码正确"
  15.             Else
  16.                  MsgBox "密码错误"
  17.             End If
  18.       Else
  19.             MsgBox "用户名不存在"
  20.       End If
  21. End Sub


  22. '作业2 : 美国电影分级制度演示程序:提示输入年龄,如果小于 13 岁,
  23. '提示可以看 G 级电影,如果大于等于13岁但是小于16 岁,提问是否有家里大人陪同,
  24. '如果是,可以看PG-13 级, 否则可以看PG 级。如果大于16岁 但小于18岁,可以看NC-17
  25. '级的电影,大于18岁可以看R 级电影。

  26. Sub 电影分级()
  27.        Dim 年龄 As Long, 陪同否
  28.        年龄 = Val(InputBox("请输入年龄")) '给年龄赋值。提问:如果输入非法值,会被强转为0,如何体现非法值与0的差别,比如非法值是提示输入了非法值,而0则可以运行看电影
  29.        Select Case 年龄
  30.        Case Is < 13 '判断年龄条件
  31.             MsgBox "可以看G级电影"
  32.        Case Is < 16
  33.             陪同否 = MsgBox("是否有家里大人陪同", vbYesNo) '给陪同否赋值,msgbox加括号表示赋值
  34.             Select Case 陪同否 '此处嵌套select case语句
  35.             Case vbYes
  36.                  MsgBox "可以看PG-13级电影"
  37.             Case Else
  38.                  MsgBox "可以看PG级电影"
  39.             End Select '嵌套完毕
  40.         Case Is < 18
  41.             MsgBox "可以看NC-17级电影"
  42.         Case Else
  43.             MsgBox "可以看R级电影"
  44.         End Select
  45. End Sub



  46. '作业3: 年终评定,绩效工资,如果评定为A 每月工资加500,
  47. '如果为B 每月工资加200 如果为C 不变,如果为D 降薪200 如果为E 降薪500。
  48. '李四基本工资为5000,根据评定计算他来年的每月的工资。用 Select Case


  49. Sub 年终评定()
  50.         Dim 基本工资 As Long, 绩效 As String
  51.         基本工资 = 5000 '给基本工资赋值
  52.         绩效 = InputBox("李四的绩效为") '给绩效赋值
  53.         Select Case 绩效
  54.         Case "A"
  55.              MsgBox "每月工资为" & (基本工资 + 500)
  56.         Case "B"
  57.             MsgBox "每月工资为" & (基本工资 + 200)
  58.         Case "C"
  59.             MsgBox "每月工资为 & 基本工资"
  60.         Case "D"
  61.             MsgBox "每月工资为" & (基本工资 - 200)
  62.         Case "E"
  63.             MsgBox "每月工资为" & (基本工资 - 500)
  64.         Case Else

  65.         End Select
  66. End Sub
复制代码


点评

作业1 iskey这个变量多余 作业3 做的不好 先计算工资 然后最后用同一个msgbox输出  发表于 2017-2-24 20:32
回复 支持 反对

使用道具 举报

发表于 2017-2-23 09:54:25 | 显示全部楼层
本帖最后由 章家央子 于 2017-2-23 11:39 编辑
  1. Sub test1()
  2.     Dim name As String, code As String
  3.     name = InputBox("请输入用户名")
  4.     If name = "小明" Then
  5.         code = InputBox("请输入密码")
  6.         If code = "888888" Then
  7.             MsgBox "密码正确"
  8.         Else
  9.             MsgBox "密码错误,登录失败"
  10.         End If
  11.     Else
  12.         MsgBox "用户名不存在"
  13.     End If
  14. End Sub

  15. Sub test2_1() 'if解法
  16.     Dim age As Long, acc
  17.     age = InputBox("请输入您的年龄")
  18.     If age < 13 Then
  19.         MsgBox "您可以观看的电影分级为G级"
  20.     ElseIf age < 16 Then
  21.         acc = MsgBox("请问您是否有成人陪同", vbYesNo)
  22.             If acc = vbYes Then
  23.                 MsgBox "您可以观看的电影分级为PG-13级"
  24.             Else
  25.                 MsgBox "您可以观看的电影分级为PG 级"
  26.             End If
  27.     ElseIf age < 18 Then
  28.         MsgBox "您可以观看的电影分级为NC-17级"
  29.     Else
  30.         MsgBox "您可以观看的电影分级为R 级"
  31.     End If
  32. End Sub

  33. Sub test2_2()  'select case解法
  34.     Dim age As Long, acc
  35.     age = InputBox("请输入您的年龄")
  36.     Select Case age
  37.     Case Is < 13
  38.         MsgBox "您可以观看的电影分级为G级"
  39.     Case Is < 16
  40.         acc = MsgBox("请问您是否有成人陪同", vbYesNo)
  41.         Select Case acc
  42.         Case vbYes
  43.             MsgBox "您可以观看的电影分级为PG-13级"
  44.         Case Else
  45.             MsgBox "您可以观看的电影分级为PG 级"
  46.         End Select
  47.     Case Is < 18
  48.         MsgBox "您可以观看的电影分级为NC-17级"
  49.     Case Else
  50.         MsgBox "您可以观看的电影分级为R 级"
  51.     End Select
  52. End Sub

  53. Sub test3()
  54.     Dim KPI As String, sal As Long
  55.     KPI = InputBox("请输入当年绩效评定")
  56.     sal = 5000
  57.     Select Case KPI
  58.     Case Is = "A"
  59.         MsgBox "每月工资为" & sal + 500
  60.     Case Is = "B"
  61.         MsgBox "每月工资为" & sal + 200
  62.     Case Is = "C"
  63.         MsgBox "每月工资为" & sal
  64.     Case Is = "D"
  65.         MsgBox "每月工资为" & sal - 200
  66.     Case Else
  67.         MsgBox "每月工资为" & sal - 500
  68.     End Select
  69. End Sub
复制代码


点评

作业3 做的不好 先计算工资 然后最后用同一个msgbox输出  发表于 2017-2-24 20:32
回复 支持 反对

使用道具 举报

发表于 2017-2-23 10:15:37 | 显示全部楼层
  1. Sub 作业1()
  2.     Dim ad As String
  3.     Dim mm As Long
  4.     ad = InputBox("请输入用户名")
  5.     If ad = "小明" Then
  6.         MsgBox "请输入密码"
  7.     mm = Val(InputBox("请输入密码"))
  8.     If mm = 888888 Then
  9.         MsgBox "登录成功"
  10.     Else
  11.         MsgBox "密码错误,登录失败"
  12.         
  13.     End If
  14.         
  15.     Else
  16.      MsgBox "用户名不存在"
  17.    
  18.    
  19.     End If
  20.         
  21.    
  22. End Sub
复制代码
  1. Sub 作业2()
  2.     Dim age As Long
  3.     Dim pd
  4.     age = InputBox("请输入年龄")
  5.     Select Case age
  6.     Case Is < 13
  7.         MsgBox "可以看G级电影"
  8. Case Is <= 16
  9.         pd = MsgBox("是否有家里大人陪同", vbYesNo)
  10.         If pd = vbYes Then
  11.             MsgBox "可以看PG-13级"
  12.         Else
  13.             MsgBox "可以看PG级"
  14.         End If
  15.     Case Is < 18
  16.         MsgBox "可以看NC-17级"
  17.     Case Else
  18.         MsgBox "可以看R级"
  19.     End Select
  20.    
  21.         
  22.          
  23.          
  24. End Sub
复制代码
  1. Sub 作业3()

  2.     Dim jx As String
  3.     Dim gz1 As Long
  4.     Dim gz2 As Long
  5.     gz1 = 5000
  6.     jx = InputBox("输入绩效评定情况")
  7.     Select Case jx
  8.     Case "A"
  9.     gz2 = gz1 + 500
  10.         MsgBox "来年平均工资为" & gz2 & "元。"
  11.     Case "B"
  12.     gz2 = gz1 + 200
  13.         MsgBox "来年平均工资为" & gz2 & "元。"
  14.     Case "C"
  15.     gz2 = gz1
  16.         MsgBox "来年平均工资为" & gz2 & "元。"
  17.     Case "D"
  18.     gz2 = gz1 - 200
  19.         MsgBox "来年平均工资为" & gz2 & "元。"
  20.   Case "E"
  21.         gz2 = gz1 - 500
  22.         MsgBox "来年平均工资为" & gz2 & "元。"
  23.         
  24.     End Select
  25.          
  26.         
  27. End Sub
复制代码


点评

代码缩进要养成好习惯 作业3 做的不好 先计算工资 然后最后用同一个msgbox输出  发表于 2017-2-24 20:34
回复 支持 反对

使用道具 举报

发表于 2017-2-23 10:35:19 | 显示全部楼层
本帖最后由 空白学VBA 于 2017-2-27 19:56 编辑
  1. Sub 作业1()
  2.     Dim name As String, mm As Long
  3.     name = InputBox("请输入用户名")
  4.     If name = "小明" Then
  5.         mm = Val(InputBox("请输入密码"))
  6.         If mm = 888888 Then
  7.             MsgBox "密码正确,登录成功"
  8.         Else
  9.             MsgBox "密码错误,登录失败"
  10.         End If
  11.     Else
  12.         MsgBox "用户名不存在"
  13.     End If
  14. End Sub


  15. Sub 作业2()
  16.     Dim age As Long, 是否大人陪同
  17.     age = Val(InputBox("请输入年龄"))
  18.     Select Case age
  19.         Case Is < 13
  20.             MsgBox "可以看G级电影"
  21.         Case Is <= 16
  22.             是否大人陪同 = MsgBox("是否大人陪同", vbYesNo)
  23.             If 是否大人陪同 = vbYes Then
  24.                 MsgBox "可以看PG-13级电影"
  25.             Else
  26.                 MsgBox "可以看PG级电影"
  27.             End If
  28.         Case Is < 18
  29.             MsgBox "可以看NC-17级的电影"
  30.         Case Else
  31.             MsgBox "可以看R级电影"
  32.         End Select
  33. End Sub



  34. Sub 作业3()
  35.     Dim 基本工资 As Long, 绩效工资 As String, name As String
  36.     name = InputBox("请输入员工姓名")
  37.     基本工资 = InputBox("请输入该员工的基本工资")
  38.     绩效工资 = InputBox("请输入绩效等级")
  39.     Select Case 绩效工资
  40.         Case "A", "a"
  41.             MsgBox name & "的来年的每月的工资为" & 基本工资 + 500
  42.         Case "B", "b"
  43.             MsgBox name & "的来年的每月的工资为" & 基本工资 + 200
  44.         Case "C", "c"
  45.             MsgBox name & "的来年的每月的工资为" & 基本工资
  46.         Case "D", "d"
  47.             MsgBox name & "的来年的每月的工资为" & 基本工资 - 200
复制代码


点评

作业3没贴全 做的不好 先计算工资 然后最后用同一个msgbox输出  发表于 2017-2-24 20:34
回复 支持 反对

使用道具 举报

发表于 2017-2-23 10:41:11 | 显示全部楼层
  1. Sub 作业1()
  2. Dim yhm As String, mm As Long
  3. yhm = InputBox("请输入用户名:")
  4. If yhm = "小明" Then
  5. mm = InputBox("请输入密码:")
  6.    If mm = 888888 Then
  7.       MsgBox "登陆成功!"
  8.    Else
  9.       MsgBox "密码错误,登陆失败!"
  10.    End If
  11. Else
  12.      MsgBox "你输入的用户名不存在!"
  13. End If
  14. End Sub

  15. Sub 作业2()
  16. Dim 年龄 As Integer, 陪同否 As Integer
  17. 年龄 = InputBox("请输入你的年龄:")
  18. Select Case 年龄
  19. Case Is < 13
  20.     MsgBox "可以看G级电影"
  21. Case 13 To 15
  22. 陪同否 = MsgBox("是否有大人陪同?", vbYesNo)   '弹出选择对话框,是否有大人陪同。
  23.   If 陪同否 = vbYes Then                        '判断是否单击是
  24.     MsgBox "可以看PG-13级电影"
  25.   Else
  26.     MsgBox "可以看PG级电影"
  27.   End If
  28. Case 16 To 17
  29.     MsgBox "可以看NC-17级电影"
  30. Case Is >= 18
  31.     MsgBox "可以看R级电影"
  32. End Select
  33. End Sub

  34. Sub 作业3()
  35. Dim jbgz As Integer, pd As String
  36. jbgz = 5000
  37. pd = InputBox("请输入等级判定结果:")
  38. Select Case pd
  39. Case Is = "A", "a"
  40.    MsgBox "来年工资为:" & jbgz + 500
  41. Case Is = "B", "b"
  42.    MsgBox "来年工资为:" & jbgz + 200
  43. Case Is = "C", "c"
  44.    MsgBox "来年工资为:" & jbgz
  45. Case Is = "D", "d"
  46.    MsgBox "来年工资为:" & jbgz - 200
  47. Case Is = "E", "e"
  48.    MsgBox "来年工资为:" & jbgz - 500
  49. End Select
  50. End Sub
复制代码


回复 支持 反对

使用道具 举报

发表于 2017-2-23 10:55:09 | 显示全部楼层
  1. Option Explicit

  2. Sub 作业1()
  3.     Dim yhm As String, mm As Long
  4.     yhm = InputBox("请输入用户名")
  5.     If yhm <> "小明" Then
  6.         MsgBox "用户名不存在"
  7.     Else
  8.         mm = InputBox("请输入密码")
  9.             If mm <> 888888 Then
  10.                 MsgBox "密码错误,登录失败"
  11.             Else
  12.                 MsgBox "密码正确,登录成功"
  13.             End If
  14.     End If
  15. End Sub
  16. Sub 作业2()
  17.     Dim age As Integer, 是否 As String
  18.     age = InputBox("请输入年龄")
  19.     Select Case age
  20.     Case Is < 13
  21.         MsgBox "可以看G级电影"
  22.     Case 13 To 16
  23.         是否 = MsgBox("是否有家里人陪同", vbYesNo)
  24.         Select Case 是否
  25.         Case vbYes
  26.             MsgBox "可以看PG-13级"
  27.         Case Else
  28.             MsgBox "可以看PG级"
  29.         End Select
  30.     Case 16 To 18
  31.         MsgBox "可以看N-17级电影"
  32.     Case Is > 18
  33.         MsgBox "可以看R级电影"
  34.     End Select
  35. End Sub




  36. Sub 作业3()
  37.     Dim pd As String, salary As Long
  38.     pd = InputBox("请输入年终评定(a/b/c/d/e)")
  39.     salary = 5000
  40.     Select Case pd
  41.     Case "a"
  42.         salary = salary + 500
  43.     Case "b"
  44.         salary = salary + 200
  45.     Case "c"
  46.         salary = salary
  47.     Case "d"
  48.         salary = salary - 200
  49.     Case "e"
  50.         salary = salary - 500
  51.     End Select
  52.     MsgBox "李四来年的月工资为" & salary & "元"
  53. End Sub
复制代码


辛苦狼班批阅!

点评

做的不错 第一页作业3 只有你做的好  发表于 2017-2-24 20:35

评分

参与人数 1登攀 +10 收起 理由
唐伯狼 + 10

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2017-2-23 11:07:57 | 显示全部楼层
  1. 作业1
  2. Sub 用户名()
  3.     Dim 用户名 As String, 密码 As Long
  4.     用户名 = inputbox("请输入用户名!")
  5.     If 用户名 = "小明" Then
  6.         密码 = Val(inputbox("请输入密码!"))
  7.         If 密码 = 888888 Then
  8.             MsgBox "恭喜您登陆成功!"
  9.         Else
  10.             MsgBox "密码错误,您无权登陆!"
  11.         End If
  12.     Else
  13.         MsgBox "用户不存在"
  14.     End If
  15. End Sub

  16. 作业2
  17. Sub 电影()
  18.     Dim 年龄 As Integer, 陪同按钮 As Integer
  19.     年龄 = Val(inputbox("请输入您的年龄!"))
  20.     Select Case 年龄
  21.     Case Is < 13
  22.         MsgBox "您可以观看G级电影"
  23.     Case Is < 16
  24.         陪同按钮 = MsgBox("是否有家人陪同?", vbYesNo)
  25.         Select Case 陪同按钮
  26.         Case vbYes
  27.             MsgBox "您可以观看PG-13 级电影"
  28.         Case vbNo
  29.             MsgBox "您可以观看PG 级电影"
  30.         End Select
  31.     Case Is < 18
  32.         MsgBox "您可以观看NC-17级电影"
  33.     Case Is >= 18
  34.         MsgBox "您可以观看R级电影"
  35.     End Select
  36. End Sub

  37. 作业3
  38. Sub 年终评定()
  39.     Dim 基础工资 As Integer, 等级 As String
  40.     基础工资 = 5000
  41.     等级 = inputbox("请输入李四的评定等级")
  42.     Select Case 等级
  43.     Case "A", "a"
  44.         MsgBox "李四新一年的工资为" & 基础工资 + 500
  45.     Case "B", "b"
  46.         MsgBox "李四新一年的工资为" & 基础工资 + 200
  47.     Case "C", "c"
  48.         MsgBox "李四新一年的工资为" & 基础工资
  49.     Case "D", "d"
  50.         MsgBox "李四新一年的工资为" & 基础工资 - 500
  51.     End Select  
  52. End Sub
复制代码


点评

作业3 做的不好 先计算工资 然后最后用同一个msgbox输出  发表于 2017-2-24 20:36
回复 支持 反对

使用道具 举报

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

本版积分规则

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