Описать тип данных MARSH (маршрут) - VB
Формулировка задачи:
Условие задачи следующее:
1. Описать тип данных MARSH, содержащий следующие поля:
название нач. маршрута
название конеч. маршрута
номер маршрута.
2. Написать программу, выполн. след. действия:
ввод с клавиатуры данных в масив, сост. из девяти переменных типа MARSH; записи должны быть упорядочены в алфавитном порядке нач. пунктов маршрута;
если таких маршрутов нет, выдать на дисплей соответствующее сообщение
вывод на экран информации о маршруте номер которого введен с клавиатуры
Проблема в следующем: не понимаю, как сделать "записи должны быть упорядочены в алфавитном порядке нач. пунктов маршрута". Скину код, который сделал. Может подскажите, как его подредактровать, чтобы было верно
В модуле следующее:
Решение задачи: «Описать тип данных MARSH (маршрут)»
textual
Листинг программы
Option Explicit
Private Type MARSH
nomer As String
na4alo As String
konec As String
End Type
Dim marshrut(1 To 9) As MARSH
Private Sub Command1_Click()
Dim i As Integer
For i = 1 To 9
marshrut(i).nomer = InputBox("Введите номер " & i & "-го маршрута", "Ввод данных", i)
marshrut(i).na4alo = InputBox("Введите начало " & i & "-го маршрута", "Ввод данных", Chr(64 + i))
marshrut(i).konec = InputBox("Введите конец " & i & "-го маршрута", "Ввод данных", Chr(80 + i))
Next i
MsgBox "Все записи введены"
Call Sort
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To 9
If Text4.Text = marshrut(i).nomer Then
Text5 = marshrut(i).na4alo
Text6 = marshrut(i).konec
Exit Sub
End If
Next i
Text5.Text = "Нет такого маршрута"
Text6.Text = "Нет такого маршрута"
End Sub
Private Sub Sort()
Dim i As Integer, j As Integer, m As MARSH
Text1.Text = "Начало" & vbTab & "Конец" & vbTab & "Номер" & vbCrLf
For i = 1 To UBound(marshrut)
For j = 1 To UBound(marshrut) - 1
If marshrut(j).na4alo > marshrut(j + 1).na4alo Then
m = marshrut(j)
marshrut(j) = marshrut(j + 1)
marshrut(j + 1) = m
End If
Next j
Next i
For i = 1 To UBound(marshrut)
Text1.Text = Text1.Text & marshrut(i).na4alo & vbTab & marshrut(i).konec & vbTab & marshrut(i).nomer & vbCrLf
Next i
End Sub
Private Sub Command3_Click()
End
End Sub