Поиск используя структуры - VB
Формулировка задачи:
есть некая структура,описывающая грабителя(имя,пол,возраст,сумма ущерба)
Разработайте функцию, для поиска элемента с максимальным ущербом(100000) среди грабителей й возраста не меньше заданного (вводится с клавиатуры).
Как используя эту структуру написать функцию.
Решение задачи: «Поиск используя структуры»
textual
Листинг программы
Option Explicit Private Type typeRobber Nam As String Gen As String Age As Integer Sum As Long End Type Dim Robber(1 To 5) As typeRobber, sAllRob As String Private Sub Form_Load() Dim i As Integer Randomize For i = 1 To UBound(Robber) Robber(i).Nam = "Name # " & i Robber(i).Age = Int(Rnd * 20 + 20) Robber(i).Gen = Choose(Int(Rnd * 2 + 1), "M", "F") Robber(i).Sum = CLng(Rnd * 100000 + 50000) Next i End Sub Private Sub Command1_Click() Dim sListRob As String, s As String sAllRob = FindListRobbers(Robber, 0, 0) sListRob = FindListRobbers(Robber, 100000, 20) sListRob = IIf(InStr(1, sListRob, vbCrLf) = 0, "Not found", sListRob) MsgBox "Все грабители:" & vbCrLf & sAllRob & vbCrLf & vbCrLf & "Удовлетворяющие условию поиска:" & vbCrLf & sListRob End Sub Private Function FindListRobbers(ByRef R() As typeRobber, Optional ByVal Sum As Long = 100000, Optional ByVal Age As Integer = 20) As String Dim i As Integer, s As String s = "Name " & vbTab & "Gender " & vbTab & "Age " & vbTab & "Sum" & vbTab For i = LBound(R) To UBound(R) If R(i).Age >= Age And R(i).Sum >= Sum Then s = s & vbCrLf & R(i).Nam & vbTab & Space(5) & R(i).Gen & vbTab & R(i).Age & vbTab & R(i).Sum & vbTab Next i FindListRobbers = s End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д