Поиск используя структуры - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5