Создать класс, который выведет список деловых контактов в отсортированном виде - Visual Basic .NET
Формулировка задачи:
Помогите мне пожалуйста!
У меня все время выводит ошибку "Ссылка на объект не указывает на экземпляр объекта.", когда я пытаюсь обратиться к отладочной функции, чтобы сто раз не вводить информацию о том или ином деловом контакте.
Листинг программы
- Module Module1
- Enum ТипПол
- Мужской = 1
- Женский = 2
- End Enum
- Enum ТипПриоритетВажности
- Важный
- ОченьВажный
- Необходимый
- End Enum
- MustInherit Class КлассДеловыеКонтакты
- 'Поля для описания деловых контактов
- Public Телефон As String
- Public МестоПоложения As String
- Public ПриоритетВажности As ТипПриоритетВажности
- Public Overridable Sub Писать()
- Console.WriteLine("Деловые контакты")
- End Sub
- End Class
- Class КлассСотрудник
- Inherits КлассДеловыеКонтакты
- Public ФИО As String
- Public Пол As ТипПол
- Public ДатаРождения As Date
- Public Должность As String
- Public Overrides Sub Писать()
- Console.WriteLine(
- " Телефон: {0}" & ControlChars.CrLf &
- " ФИО: {1}" & ControlChars.CrLf &
- " Место положения: {2}" & ControlChars.CrLf &
- " Приоритет важности: {3}" & ControlChars.CrLf &
- " Пол: {4}" & ControlChars.CrLf &
- " Дата рождения: {5}" & ControlChars.CrLf &
- " Должность: {6}" & ControlChars.CrLf,
- Телефон, ФИО, МестоПоложения, ПриоритетВажности, Пол, ДатаРождения.ToShortDateString, Должность)
- End Sub
- End Class
- Class КлассОрганизация
- Inherits КлассДеловыеКонтакты
- Public НазваниеОрганизации As String
- Public ТипОрганизации As String
- Public Overrides Sub Писать()
- Console.WriteLine(
- " Телефон: {0}" & ControlChars.CrLf &
- " Место положения: {1}" & ControlChars.CrLf &
- " Приоритет важности: {2}" & ControlChars.CrLf &
- " Название организации: {3}" & ControlChars.CrLf &
- " Тип организации: {4}" & ControlChars.CrLf,
- Телефон, МестоПоложения, ПриоритетВажности, НазваниеОрганизации, ТипОрганизации)
- End Sub
- End Class
- Class КлассСправочник
- Inherits КлассДеловыеКонтакты
- Public СотрудникКонтакт() As КлассСотрудник
- Public ОрганизацияКонтакт() As КлассОрганизация
- Public ДеловыеКонтакты() As КлассДеловыеКонтакты
- Public Overrides Sub Писать()
- MyBase.Писать()
- Console.WriteLine("Количество сотрудников: ")
- ReDim СотрудникКонтакт(Console.ReadLine - 1)
- СотрудникКонтакт = ИнициализироватьСотрудникиОтладочная()
- Console.WriteLine("Количество организаций: ")
- ReDim ОрганизацияКонтакт(Console.ReadLine - 1)
- ОрганизацияКонтакт = ИнициализироватьОрганизацииОтладочная()
- End Sub
- End Class
- Sub Main()
- Dim Справочник As New КлассСправочник
- Справочник.Писать()
- Dim u As String
- Console.WriteLine("ФИО сотрудников")
- Справочник.СотрудникКонтакт = ИнициализироватьСотрудникиОтладочная()
- For i = 0 To UBound(Справочник.СотрудникКонтакт)
- For j = 1 To UBound(Справочник.СотрудникКонтакт)
- If Справочник.СотрудникКонтакт(j).ФИО < Справочник.СотрудникКонтакт(j - 1).ФИО Then
- u = Справочник.СотрудникКонтакт(j).ФИО
- Справочник.СотрудникКонтакт(j).ФИО = Справочник.СотрудникКонтакт(j - 1).ФИО
- Справочник.СотрудникКонтакт(j - 1).ФИО = u
- End If
- Next
- Next
- Console.WriteLine("Все контакты о контактах в отсортированном виде.")
- For i = 0 To UBound(Справочник.СотрудникКонтакт)
- Console.WriteLine("Сведения о {0}-сотруднике", i + 1)
- Справочник.СотрудникКонтакт(i).Писать()
- Console.WriteLine()
- Next
- Dim t As String
- Console.WriteLine("Название организаций")
- Справочник.ОрганизацияКонтакт = ИнициализироватьОрганизацииОтладочная()
- For i = 0 To UBound(Справочник.ОрганизацияКонтакт)
- For j = 1 To UBound(Справочник.ОрганизацияКонтакт)
- If Справочник.ОрганизацияКонтакт(j).НазваниеОрганизации < Справочник.ОрганизацияКонтакт(j - 1).НазваниеОрганизации Then
- t = Справочник.ОрганизацияКонтакт(j).НазваниеОрганизации
- Справочник.ОрганизацияКонтакт(j).НазваниеОрганизации = Справочник.ОрганизацияКонтакт(j - 1).НазваниеОрганизации
- Справочник.ОрганизацияКонтакт(j - 1).НазваниеОрганизации = t
- End If
- Next
- Next
- Console.WriteLine("Все контакты о организациях в отсортированном виде.")
- For i = 0 To UBound(Справочник.СотрудникКонтакт)
- Console.WriteLine("Сведения о {0}-организации", i + 1)
- Справочник.ОрганизацияКонтакт(i).Писать()
- Console.WriteLine()
- Next
- Console.ReadKey()
- End Sub
- Private Function ИнициализироватьСотрудникиОтладочная() As КлассСотрудник()
- Dim Сотрудники(2) As КлассСотрудник
- With Сотрудники(2)
- .Телефон = "981-10-10"
- .ФИО = "Николаев Николай Николаевич"
- .МестоПоложения = "г. Апатиты, ул. Нечаева 19"
- .ПриоритетВажности = 2
- .Пол = 1
- .ДатаРождения = "10.08.1989"
- .Должность = "бухгалтер"
- End With
- With Сотрудники(1)
- .Телефон = "910-20-30"
- .ФИО = "Иванов Иван Иванович"
- .МестоПоложения = "г. Мурманск, ул. Софьи Перовской 12"
- .ПриоритетВажности = 1
- .Пол = 1
- .ДатаРождения = "01.02.1990"
- .Должность = "аудитор"
- End With
- With Сотрудники(0)
- .Телефон = "762-12-12"
- .ФИО = "Алмазова Евгения Юрьевна"
- .МестоПоложения = "г. Кировск, ул. Ленина 15"
- .ПриоритетВажности = 3
- .Пол = 2
- .ДатаРождения = "14.12.1987"
- .Должность = "программист"
- End With
- Return Сотрудники
- End Function
- Private Function ИнициализироватьОрганизацииОтладочная() As КлассОрганизация()
- Dim Организации(2) As КлассОрганизация
- With Организации(2)
- .Телефон = "121-31-12"
- .МестоПоложения = "г. Кировск, ул. Победы 19"
- .ПриоритетВажности = 3
- .НазваниеОрганизации = "Москва"
- .ТипОрганизации = "Бизнес-инкубатор"
- End With
- With Организации(1)
- .Телефон = "981-10-20"
- .МестоПоложения = "г. Мурманск, ул. Капитана Тарана 18"
- .ПриоритетВажности = 1
- .НазваниеОрганизации = "Дельфин"
- .ТипОрганизации = "Фирма"
- End With
- With Организации(0)
- .Телефон = "921-21-12"
- .МестоПоложения = "г. Апатиты, ул. Ленина 12"
- .ПриоритетВажности = 2
- .НазваниеОрганизации = "Апатит"
- .ТипОрганизации = "Компания"
- End With
- Return Организации
- End Function
- End Module
Решение задачи: «Создать класс, который выведет список деловых контактов в отсортированном виде»
textual
Листинг программы
- Public As String = ""
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д