Описать тип данных MARSH (маршрут) - VB

Узнай цену своей работы

Формулировка задачи:

Условие задачи следующее: 1. Описать тип данных MARSH, содержащий следующие поля: название нач. маршрута название конеч. маршрута номер маршрута. 2. Написать программу, выполн. след. действия: ввод с клавиатуры данных в масив, сост. из девяти переменных типа MARSH; записи должны быть упорядочены в алфавитном порядке нач. пунктов маршрута; если таких маршрутов нет, выдать на дисплей соответствующее сообщение вывод на экран информации о маршруте номер которого введен с клавиатуры Проблема в следующем: не понимаю, как сделать "записи должны быть упорядочены в алфавитном порядке нач. пунктов маршрута". Скину код, который сделал. Может подскажите, как его подредактровать, чтобы было верно
Листинг программы
  1. Option Explicit
  2. Dim i As Integer
  3. Dim d As Integer
  4. Dim marshrut(0 To 9) As MARSH
  5. Private Sub Command1_Click()
  6. i = i + 1
  7. Label2.Caption = i + 1
  8. marshrut(i).nomer = Text1.Text
  9. marshrut(i).na4alo = Text2.Text
  10. marshrut(i).konec = Text3.Text
  11. If i = 9 Then Command1.Enabled = False
  12. If i = 9 Then Label2.Caption = "Все записи введены, введите номер маршрута"
  13. End Sub
  14. Private Sub Command2_Click()
  15. d = 0
  16. For i = 1 To 9
  17. If Text4.Text = marshrut(i).nomer Then
  18. Text5 = marshrut(i).na4alo
  19. Text6 = marshrut(i).konec
  20. Else
  21. d = d + 1
  22. End If
  23. Next i
  24. If d = 9 Then Text5.Text = "Нет такого маршрута"
  25. If d = 9 Then Text6.Text = "Нет такого маршрута"
  26. End Sub
  27.  
  28. Private Sub Command3_Click()
  29. End
  30. End Sub
В модуле следующее:
Листинг программы
  1. Public Type MARSH
  2. nomer As String
  3. na4alo As String
  4. konec As String
  5. End Type

Решение задачи: «Описать тип данных MARSH (маршрут)»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Type MARSH
  4.     nomer As String
  5.     na4alo As String
  6.     konec As String
  7. End Type
  8.  
  9. Dim marshrut(1 To 9) As MARSH
  10.  
  11. Private Sub Command1_Click()
  12.     Dim i As Integer
  13.     For i = 1 To 9
  14.           marshrut(i).nomer = InputBox("Введите номер " & i & "-го маршрута", "Ввод данных", i)
  15.           marshrut(i).na4alo = InputBox("Введите начало " & i & "-го маршрута", "Ввод данных", Chr(64 + i))
  16.           marshrut(i).konec = InputBox("Введите конец " & i & "-го маршрута", "Ввод данных", Chr(80 + i))
  17.     Next i
  18.     MsgBox "Все записи введены"
  19.     Call Sort
  20. End Sub
  21.  
  22. Private Sub Command2_Click()
  23.     Dim i As Integer
  24.     For i = 1 To 9
  25.           If Text4.Text = marshrut(i).nomer Then
  26.               Text5 = marshrut(i).na4alo
  27.               Text6 = marshrut(i).konec
  28.               Exit Sub
  29.           End If
  30.     Next i
  31.     Text5.Text = "Нет такого маршрута"
  32.     Text6.Text = "Нет такого маршрута"
  33. End Sub
  34.  
  35. Private Sub Sort()
  36.     Dim i As Integer, j As Integer, m As MARSH
  37.     Text1.Text = "Начало" & vbTab & "Конец" & vbTab & "Номер" & vbCrLf
  38.     For i = 1 To UBound(marshrut)
  39.         For j = 1 To UBound(marshrut) - 1
  40.              If marshrut(j).na4alo > marshrut(j + 1).na4alo Then
  41.                 m = marshrut(j)
  42.                 marshrut(j) = marshrut(j + 1)
  43.                 marshrut(j + 1) = m
  44.              End If
  45.         Next j
  46.     Next i
  47.     For i = 1 To UBound(marshrut)
  48.           Text1.Text = Text1.Text & marshrut(i).na4alo & vbTab & marshrut(i).konec & vbTab & marshrut(i).nomer & vbCrLf
  49.     Next i
  50. End Sub
  51.  
  52. Private Sub Command3_Click()
  53.     End
  54. End Sub

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут