西西河

主题:请教VB高人一个问题,不难,但是我怎么也做不出来。 -- 锦候

共:💬12 🌺6 新:
全看分页树展 · 主题
家园 请教VB高人一个问题,不难,但是我怎么也做不出来。

题目是这样的:写一个程序,当一个按钮每次被按的时候,都会从一个text box读入一个成绩。当第二个按钮被按的时候,就会显示最高的两个成绩。把两个变量设成class-level的变量来追踪两个最高的成绩。

这个是书上的练习题,是在"if block"后面的练习,也就是说要用if语句来做,

我写的程序如下,但是只可以把最高的成绩显示出来,第二高的成绩总是不对。想了很久不得要领,z只好麻烦大家一下了。谢谢了!这个是我自己做练习的,题目不难!可是就是想不通了。

Public Class Form1

Dim a As Double =0

Dim b As Double = 1

Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click

Dim score As Double

score = CDbl(txtScore.Text)

If (score > a) And (score < b) Then

b = score

ElseIf (score > b) Then

a = score

End If

txtScore.Clear()

txtScore.Focus()

End Sub

Private Sub btnEvaluate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEvaluate.Click

txtOutput.Text = a & " " & b

End Sub

End Class

我的做法有个明显的问题就是我给这两个变量0,1两个值,这个题没问题但是要是在实际情况中,需要比较实数的值的话,这个做法就错了。

我用1,2,3,4,5,6,7,8,9作输入结果每次都只显示 9 和 1 两个值,明显不对。

麻烦哪位高人帮帮手,谢谢了! 大大的花!

全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河