早上好,我有一个愚蠢的问题,我已经在这20个小时了,我需要一点帮助 我有一个包含15个名字和数字的数组。我有平均值,我需要找出有多少条目超过200并显示在标签中。
我所拥有的不起作用:
Public Shared _intSizeOfArray As Integer = 14
Public Shared _strLastName(_intSizeOfArray) As String
'Private _strFirstName(_intSizeOfArray) As String
Public Shared _intCholesterolLevel(_intSizeOfArray) As Integer
Private Sub frmPatientCholesterollevels_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' This Load event reads the patient text file And initializes an instance
' of the StreamReader object.
' Declare Variables.
Dim objReader As IO.StreamReader
Dim strPatients As String = "patients.txt"
Dim intCount As Integer = 0
Dim strFileError As String = "The file is not available.
Please restart the application when the file is availble"
' Verify the patient.txt file exists.
If IO.File.Exists(strPatients) Then
objReader = IO.File.OpenText(strPatients)
' Read the file line by line until the file is completed.
Do While objReader.Peek <> -1
_strLastName(intCount) = objReader.ReadLine()
'_strFirstName(intCount) = objReader.ReadLine()
_intCholesterolLevel(intCount) = Convert.ToInt32(objReader.ReadLine())
intCount += 1
Loop
objReader.Close()
Else
MsgBox(strFileError, , "Error")
Close()
End If
End Sub
Private Sub btnLabResults_Click(sender As Object, e As EventArgs) Handles btnLabResults.Click
' This Click Event displays the number of patients who have an elevalted Cholesterol
' level over 200 and displays the information in the results form and copies the information
' to a USB Drive and a second text file located at e:\consult.txt. It also displays the
' average cholesterol rate of the complete patient text file.
' Declare variables.
Dim intPatientAverage As Double
Dim intEvelatedLevel As Integer
For intIAverage As Integer = 0 To _intCholesterolLevel.Length - 1
intPatientAverage = intPatientAverage + _intCholesterolLevel(intIAverage)
Next
intPatientAverage = intPatientAverage / _intCholesterolLevel.Length
For intIEvelated As Integer = 0 To _intCholesterolLevel.Length - 1
intEvelatedLevel = intEvelatedLevel < 200(intIEvelated)
Next
'display the labels with the results
lblAveragePatients.Text = "The Average Cholesterol Level for Today is: " &
FormatNumber(intPatientAverage, 1) & "."
lblElveatedLevel.Text = "The Number of Patients With a Cholesterol Level Above 200 is: " &
FormatNumber(intEvelatedLevel, 1) & "."
End Sub
Thank you for any suggestions you can give me.
罗恩牧师
答案 0 :(得分:0)
我想说这个循环中的逻辑需要一些工作。 :)
For intIEvelated As Integer = 0 To _intCholesterolLevel.Length - 1
intEvelatedLevel = intEvelatedLevel < 200(intIEvelated)
Next
试试这个。
For intIEvelated As Integer = 0 To _intCholesterolLevel.Length - 1
Dim patientCholesterolLevel As Integer = _intCholesterolLevel(intIEvelated)
If patientCholesterolLevel > 200 Then
intEvelatedLevel += 1
End If
Next
希望它应该有效。