小工具年级卫生评比

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

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

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

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

 

 

大家可以看到,情况是这样的,一共有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
原文地址:https://www.cnblogs.com/zdcaolei/p/2410136.html