Описать тип данных 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

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


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

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

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