Перечисляемый тип - Visual Basic .NET

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

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

Определить перечисляемый тип для планет. Объявить и использовать массив для записи данных о массе планет. Найти первые три планеты с наибольшей массой. Как вывести на экран первые три планеты с наибольшей массой?
Листинг программы
  1. Module Module1
  2. 'Объявление перечисляемого типа для типа планет
  3. Enum ТипПланет
  4. Венера = 0
  5. Земля = 1
  6. Луна = 2
  7. Марс = 3
  8. Меркурий = 4
  9. Нептун = 5
  10. Плутон = 6
  11. Сатурн = 7
  12. Уран = 8
  13. Юпитер = 9
  14. End Enum
  15. Sub Main()
  16. 'Объявление строковых констант для сообщений
  17. Const СтрокаВыйти As String = "выйти из программы - любая другая клавиша."
  18. Const СтрокаОшибка As String = ControlChars.CrLf & "Ошибка: "
  19. Const СообщениеПовторить As String = ControlChars.CrLf &
  20. "Если вы хотите повторить ввод значения " &
  21. "нажмите клавишу (п), " & СтрокаВыйти
  22. Const СообщениеПродолжить As String = ControlChars.CrLf &
  23. "Если вы хотите продолжить работу " &
  24. "нажмите клавишу (д), " & СтрокаВыйти
  25. 'Объявление массива для хранения и записи данных о массе планет
  26. Dim МассаПланет(ТипПланет.Юпитер) As Single
  27. Dim Планета As ТипПланет
  28. Dim max As Double
  29. '1. Ввод массы планет
  30. Do
  31. For Планета = ТипПланет.Венера To ТипПланет.Юпитер
  32. Do
  33. Try
  34. Console.Write("Введите массу планеты {0}: ", Планета)
  35. МассаПланет(Планета) = Console.ReadLine()
  36. Exit Do
  37. Catch ex As Exception
  38. Console.WriteLine(СтрокаОшибка & ex.Message & СообщениеПовторить)
  39. If Console.ReadKey(True).Key <> ConsoleKey.G Then Exit Sub
  40. End Try
  41. Loop
  42. Next
  43. '2. Определение первых трех планет с наибольшой массой
  44. max = 0
  45. For Планета = ТипПланет.Венера To ТипПланет.Юпитер
  46. If МассаПланет(ТипПланет.Венера) > max Then max = МассаПланет(ТипПланет.Венера)
  47. Next
  48. '3. Печать первых трех планет с наибольшой массой на экран
  49. Console.WriteLine()
  50. For Планета = ТипПланет.Венера To ТипПланет.Юпитер
  51. Console.WriteLine("Первые три планеты с наибольшей массой: {0}", Планета)
  52. Next
  53. Console.WriteLine(СообщениеПродолжить)
  54. Loop While Console.ReadKey(True).Key = ConsoleKey.L
  55. End Sub
  56. End Module

Решение задачи: «Перечисляемый тип»

textual
Листинг программы
  1. 'по умолчанию это и будет 0,1,2,...,9
  2.  Enum ТипПланет
  3.      Венера
  4.      Земля
  5.      Луна
  6.      Марс
  7.      Меркурий
  8.      Нептун
  9.      Плутон
  10.      Сатурн
  11.      Уран
  12.      Юпитер
  13.  End Enum
  14. '
  15. Dim NamesP() As String = [Enum].GetNames(GetType(ТипПланет))
  16. Dim weightP(NamesP.Length - 1) As Double
  17. For i = 0 To NamesP.Length - 1
  18.     'вводим для NamesP(i) значение weightP(i)
  19. Next
  20. 'сортируем по возрастанию
  21. Array.Sort(Of Double, String)(weightP, NamesP)
  22. 'выводим три с наибольшей массой
  23. Console.WriteLine("Первые три планеты с наибольшей массой")
  24. For i = NamesP.Length - 1 To NamesP.Length - 4 Step -1
  25.     Console.WriteLine("{0}, {1}", NamesP(i), weightP(i))
  26. Next

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


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

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

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

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

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

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