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

来源:互联网 发布:阿里云os手机usb调试 编辑:程序博客网 时间:2024/06/07 23:16

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

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

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

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


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

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

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

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

Dim i As LongDim n As LongDim check As LongDim t() As IntegerPrivate Sub Command1_Click()i = i + 1Label13.Caption = "寝室数:" & iIf i = check + 1 ThenCommand1.Enabled = FalseClsLabel13.Caption = "寝室数:" & nPrint "总分:"For S = 0 To n - 1Print S + 1, t(S)NextFor i = n To 1 Step -1For j = 0 To i - 1If t(j) > t(j + 1) Thenl = t(j): t(j) = t(j + 1): t(j + 1) = lEnd IfNext jNext iPrint "排序:"For i = 1 To nPrint t(i)NextElseFor y = 0 To n - 1t(y) = t(y) + Text1(y).TextNextFor h = 0 To n - 1Text1(h).Text = ""NextEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command3_Click()n = Text2.TextReDim t(n) As Integer //使用控件组For j = 0 To 21Text1(j).Enabled = FalseNextFor i = 0 To n - 1Text1(i).Enabled = TrueNextClsCommand1.Enabled = Truei = 0End SubPrivate Sub Form_Load()i = 0n = 22check = 12ReDim t(n) As IntegerEnd SubPrivate Sub Timer1_Timer()check = Text3.TextIf Text2.Text = 22 ThenCommand3.Enabled = FalseElseCommand3.Enabled = TrueEnd IfEnd Sub


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

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

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

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