Создать класс, который выведет список деловых контактов в отсортированном виде - Visual Basic .NET

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

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

Помогите мне пожалуйста! У меня все время выводит ошибку "Ссылка на объект не указывает на экземпляр объекта.", когда я пытаюсь обратиться к отладочной функции, чтобы сто раз не вводить информацию о том или ином деловом контакте.
Листинг программы
  1. Module Module1
  2. Enum ТипПол
  3. Мужской = 1
  4. Женский = 2
  5. End Enum
  6. Enum ТипПриоритетВажности
  7. Важный
  8. ОченьВажный
  9. Необходимый
  10. End Enum
  11. MustInherit Class КлассДеловыеКонтакты
  12. 'Поля для описания деловых контактов
  13. Public Телефон As String
  14. Public МестоПоложения As String
  15. Public ПриоритетВажности As ТипПриоритетВажности
  16. Public Overridable Sub Писать()
  17. Console.WriteLine("Деловые контакты")
  18. End Sub
  19. End Class
  20. Class КлассСотрудник
  21. Inherits КлассДеловыеКонтакты
  22. Public ФИО As String
  23. Public Пол As ТипПол
  24. Public ДатаРождения As Date
  25. Public Должность As String
  26. Public Overrides Sub Писать()
  27. Console.WriteLine(
  28. " Телефон: {0}" & ControlChars.CrLf &
  29. " ФИО: {1}" & ControlChars.CrLf &
  30. " Место положения: {2}" & ControlChars.CrLf &
  31. " Приоритет важности: {3}" & ControlChars.CrLf &
  32. " Пол: {4}" & ControlChars.CrLf &
  33. " Дата рождения: {5}" & ControlChars.CrLf &
  34. " Должность: {6}" & ControlChars.CrLf,
  35. Телефон, ФИО, МестоПоложения, ПриоритетВажности, Пол, ДатаРождения.ToShortDateString, Должность)
  36. End Sub
  37. End Class
  38. Class КлассОрганизация
  39. Inherits КлассДеловыеКонтакты
  40. Public НазваниеОрганизации As String
  41. Public ТипОрганизации As String
  42. Public Overrides Sub Писать()
  43. Console.WriteLine(
  44. " Телефон: {0}" & ControlChars.CrLf &
  45. " Место положения: {1}" & ControlChars.CrLf &
  46. " Приоритет важности: {2}" & ControlChars.CrLf &
  47. " Название организации: {3}" & ControlChars.CrLf &
  48. " Тип организации: {4}" & ControlChars.CrLf,
  49. Телефон, МестоПоложения, ПриоритетВажности, НазваниеОрганизации, ТипОрганизации)
  50. End Sub
  51. End Class
  52. Class КлассСправочник
  53. Inherits КлассДеловыеКонтакты
  54. Public СотрудникКонтакт() As КлассСотрудник
  55. Public ОрганизацияКонтакт() As КлассОрганизация
  56. Public ДеловыеКонтакты() As КлассДеловыеКонтакты
  57. Public Overrides Sub Писать()
  58. MyBase.Писать()
  59. Console.WriteLine("Количество сотрудников: ")
  60. ReDim СотрудникКонтакт(Console.ReadLine - 1)
  61. СотрудникКонтакт = ИнициализироватьСотрудникиОтладочная()
  62. Console.WriteLine("Количество организаций: ")
  63. ReDim ОрганизацияКонтакт(Console.ReadLine - 1)
  64. ОрганизацияКонтакт = ИнициализироватьОрганизацииОтладочная()
  65. End Sub
  66. End Class
  67. Sub Main()
  68. Dim Справочник As New КлассСправочник
  69. Справочник.Писать()
  70. Dim u As String
  71. Console.WriteLine("ФИО сотрудников")
  72. Справочник.СотрудникКонтакт = ИнициализироватьСотрудникиОтладочная()
  73. For i = 0 To UBound(Справочник.СотрудникКонтакт)
  74. For j = 1 To UBound(Справочник.СотрудникКонтакт)
  75. If Справочник.СотрудникКонтакт(j).ФИО < Справочник.СотрудникКонтакт(j - 1).ФИО Then
  76. u = Справочник.СотрудникКонтакт(j).ФИО
  77. Справочник.СотрудникКонтакт(j).ФИО = Справочник.СотрудникКонтакт(j - 1).ФИО
  78. Справочник.СотрудникКонтакт(j - 1).ФИО = u
  79. End If
  80. Next
  81. Next
  82. Console.WriteLine("Все контакты о контактах в отсортированном виде.")
  83. For i = 0 To UBound(Справочник.СотрудникКонтакт)
  84. Console.WriteLine("Сведения о {0}-сотруднике", i + 1)
  85. Справочник.СотрудникКонтакт(i).Писать()
  86. Console.WriteLine()
  87. Next
  88. Dim t As String
  89. Console.WriteLine("Название организаций")
  90. Справочник.ОрганизацияКонтакт = ИнициализироватьОрганизацииОтладочная()
  91. For i = 0 To UBound(Справочник.ОрганизацияКонтакт)
  92. For j = 1 To UBound(Справочник.ОрганизацияКонтакт)
  93. If Справочник.ОрганизацияКонтакт(j).НазваниеОрганизации < Справочник.ОрганизацияКонтакт(j - 1).НазваниеОрганизации Then
  94. t = Справочник.ОрганизацияКонтакт(j).НазваниеОрганизации
  95. Справочник.ОрганизацияКонтакт(j).НазваниеОрганизации = Справочник.ОрганизацияКонтакт(j - 1).НазваниеОрганизации
  96. Справочник.ОрганизацияКонтакт(j - 1).НазваниеОрганизации = t
  97. End If
  98. Next
  99. Next
  100. Console.WriteLine("Все контакты о организациях в отсортированном виде.")
  101. For i = 0 To UBound(Справочник.СотрудникКонтакт)
  102. Console.WriteLine("Сведения о {0}-организации", i + 1)
  103. Справочник.ОрганизацияКонтакт(i).Писать()
  104. Console.WriteLine()
  105. Next
  106. Console.ReadKey()
  107. End Sub
  108. Private Function ИнициализироватьСотрудникиОтладочная() As КлассСотрудник()
  109. Dim Сотрудники(2) As КлассСотрудник
  110. With Сотрудники(2)
  111. .Телефон = "981-10-10"
  112. .ФИО = "Николаев Николай Николаевич"
  113. .МестоПоложения = "г. Апатиты, ул. Нечаева 19"
  114. .ПриоритетВажности = 2
  115. .Пол = 1
  116. .ДатаРождения = "10.08.1989"
  117. .Должность = "бухгалтер"
  118. End With
  119. With Сотрудники(1)
  120. .Телефон = "910-20-30"
  121. .ФИО = "Иванов Иван Иванович"
  122. .МестоПоложения = "г. Мурманск, ул. Софьи Перовской 12"
  123. .ПриоритетВажности = 1
  124. .Пол = 1
  125. .ДатаРождения = "01.02.1990"
  126. .Должность = "аудитор"
  127. End With
  128. With Сотрудники(0)
  129. .Телефон = "762-12-12"
  130. .ФИО = "Алмазова Евгения Юрьевна"
  131. .МестоПоложения = "г. Кировск, ул. Ленина 15"
  132. .ПриоритетВажности = 3
  133. .Пол = 2
  134. .ДатаРождения = "14.12.1987"
  135. .Должность = "программист"
  136. End With
  137. Return Сотрудники
  138. End Function
  139. Private Function ИнициализироватьОрганизацииОтладочная() As КлассОрганизация()
  140. Dim Организации(2) As КлассОрганизация
  141. With Организации(2)
  142. .Телефон = "121-31-12"
  143. .МестоПоложения = "г. Кировск, ул. Победы 19"
  144. .ПриоритетВажности = 3
  145. .НазваниеОрганизации = "Москва"
  146. .ТипОрганизации = "Бизнес-инкубатор"
  147. End With
  148. With Организации(1)
  149. .Телефон = "981-10-20"
  150. .МестоПоложения = "г. Мурманск, ул. Капитана Тарана 18"
  151. .ПриоритетВажности = 1
  152. .НазваниеОрганизации = "Дельфин"
  153. .ТипОрганизации = "Фирма"
  154. End With
  155. With Организации(0)
  156. .Телефон = "921-21-12"
  157. .МестоПоложения = "г. Апатиты, ул. Ленина 12"
  158. .ПриоритетВажности = 2
  159. .НазваниеОрганизации = "Апатит"
  160. .ТипОрганизации = "Компания"
  161. End With
  162. Return Организации
  163. End Function
  164. End Module

Решение задачи: «Создать класс, который выведет список деловых контактов в отсортированном виде»

textual
Листинг программы
  1. Public As String = ""

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


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

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

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

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

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

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