zoukankan      html  css  js  c++  java
  • 小工具年级卫生评比

    小工具---年级卫生评比

    外面那雨下的正紧,边上两个同学正在“梦三国”激战,我开始回忆起大一制作的一个小工具。

    刚上大学的时候,老师竟然选择我成为四个年级负责人之一,竟然成了年级负责人,按照俞敏洪的说法,管他是什么荣誉,先拿了再说,其实这个负责人还是很难做的,现在给大家介绍我为做好这个职务而制作的小工具,大家一定会感慨,这年头干啥都不容易。

    首先贴一张制作成功的图:

     

     

    大家可以看到,情况是这样的,一共有22个寝室(包括女寝),一共从系里挑出12名评委(默认是这样的,有些时候有人没办法到),每个评委对22个寝室各打一个分数。在没有开发这个程序之前,是用手算的。我虽然下面有手下,但是这也太麻烦了,即使我们使用各种算法来简化,也很麻烦,任何人算错就挂了,特别是,当你正算的时候,寝室长过来收寝室费,“那个,谁,你上次交了多少”,当时就崩溃了,重算。。。。。

    这个程序是非常简单的,为啥写上来呢,主要记录这段历史。对于一个热爱计算机事业的人来讲,生活中点滴的应用编程,都如珍珠一般。另外,这个程序写好,我一个人在数分钟内要在12个评委的目视下,正确敲击>528下的数字,来计算,可见这个工作真心没那么好做,年终,我给老师递交了一份20多页的记录。。。绝对是苦力。。

    程序实现的功能是:输入12个评委对22个寝室的分数,计算出排名,并按照排名显示,后得出一个报表。

     

    以下是代码:(下面是分析)

      1 Dim i As Long
    2
    3 Dim n As Long
    4
    5 Dim check As Long
    6
    7 Dim t() As Integer
    8
    9 Private Sub Command1_Click()
    10
    11 i = i + 1
    12
    13 Label13.Caption = "寝室数:" & i
    14
    15 If i = check + 1 Then
    16
    17 Command1.Enabled = False
    18
    19 Cls
    20
    21 Label13.Caption = "寝室数:" & n
    22
    23 Print "总分:"
    24
    25 For S = 0 To n - 1
    26
    27 Print S + 1, t(S)
    28
    29 Next
    30
    31 For i = n To 1 Step -1
    32
    33 For j = 0 To i - 1
    34
    35 If t(j) > t(j + 1) Then
    36
    37 l = t(j): t(j) = t(j + 1): t(j + 1) = l
    38
    39 End If
    40
    41 Next j
    42
    43 Next i
    44
    45 Print "排序:"
    46
    47 For i = 1 To n
    48
    49 Print t(i)
    50
    51 Next
    52
    53 Else
    54
    55 For y = 0 To n - 1
    56
    57 t(y) = t(y) + Text1(y).Text
    58
    59 Next
    60
    61 For h = 0 To n - 1
    62
    63 Text1(h).Text = ""
    64
    65 Next
    66
    67 End If
    68
    69 End Sub
    70
    71
    72
    73 Private Sub Command2_Click()
    74
    75 Unload Me
    76
    77 End Sub
    78
    79
    80
    81 Private Sub Command3_Click()
    82
    83 n = Text2.Text
    84
    85 ReDim t(n) As Integer //使用控件组
    86
    87 For j = 0 To 21
    88
    89 Text1(j).Enabled = False
    90
    91 Next
    92
    93 For i = 0 To n - 1
    94
    95 Text1(i).Enabled = True
    96
    97 Next
    98
    99 Cls
    100
    101 Command1.Enabled = True
    102
    103 i = 0
    104
    105 End Sub
    106
    107
    108
    109 Private Sub Form_Load()
    110
    111 i = 0
    112
    113 n = 22
    114
    115 check = 12
    116
    117 ReDim t(n) As Integer
    118
    119 End Sub
    120
    121
    122
    123 Private Sub Timer1_Timer()
    124
    125 check = Text3.Text
    126
    127 If Text2.Text = 22 Then
    128
    129 Command3.Enabled = False
    130
    131 Else
    132
    133 Command3.Enabled = True
    134
    135 End If
    136
    137 End Sub

     

     

    从这里的代码我们可以看到有以下几个问题:

    1、命名不够规范-----这个程序设计目的是一次性使用的

    2、对于许多的临界条件没有进行过滤和保护---异常机制没有做的很好

    3、控件不够简约,流程不够方便

    欢迎转载,转载请注明出处。本文出自:http://www.cnblogs.com/zdcaolei
    0
  • 相关阅读:
    数据结构与算法之递归与调用栈
    Linux 压缩命令之tar和zip
    算法的时间复杂度—大O表示法
    Linux三大文本处理工具之awk
    Linux 排序命令之 sort, wc, uniq
    oracle性能优化之索引
    Linux三大文本处理工具之sed命令
    Linux三大文本处理工具之grep命令
    linux查看端口
    linux查看mac地址
  • 原文地址:https://www.cnblogs.com/zdcaolei/p/2410136.html
Copyright © 2011-2022 走看看