0 / 0 / 1
Регистрация: 18.12.2016
Сообщений: 75
1

Перечисляемый тип

16.03.2017, 19:14. Показов 1111. Ответов 1

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

Необходимо получить тип элемента и с помощью CType или DirectCast изменить его тип
Всем привет! Подскажите, пожалуйста, есть ли вариант решения данной проблемы: Необходимо получить...

Добавить свой тип (Enum) в тип переменной My.Settings
Доброй ночи! В принципе название темы говорит само за себя. Нужен параметр приложения с моим типом...

Перечисляемый тип данных.Символьный тип.
1.type месяц = ( янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек ); год = (високосный,...

Перечисляемый тип
Можно как-то схитрить и все же вывести какой-то из компонентов пользовательского перечисляемого...

1
4407 / 3531 / 843
Регистрация: 02.02.2013
Сообщений: 3,417
Записей в блоге: 2
16.03.2017, 21:05 2
nightofpromises,
Как-то все мудрено у вас. На мой взгляд, проще обойтись без Enum.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'по умолчанию это и будет 0,1,2,...,9
 Enum ТипПланет
     Венера
     Земля
     Луна
     Марс
     Меркурий
     Нептун
     Плутон
     Сатурн
     Уран
     Юпитер
 End Enum
'…
Dim NamesP() As String = [Enum].GetNames(GetType(ТипПланет))
Dim weightP(NamesP.Length - 1) As Double
For i = 0 To NamesP.Length - 1
    'вводим для NamesP(i) значение weightP(i)
Next
'сортируем по возрастанию
Array.Sort(Of Double, String)(weightP, NamesP)
'выводим три с наибольшей массой
Console.WriteLine("Первые три планеты с наибольшей массой")
For i = NamesP.Length - 1 To NamesP.Length - 4 Step -1
    Console.WriteLine("{0}, {1}", NamesP(i), weightP(i))
Next
1
16.03.2017, 21:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2017, 21:05
Помогаю со студенческими работами здесь

Перечисляемый тип
Здравствуйте, есть список, существует ли возможность присваивать значения mes переменной a не...

Перечисляемый тип
Помогите разобрать! Обясните, и расскажите что знаете : как, зачем, и когда применять?

Перечисляемый тип
type T2d= (LEFT, RIGHT, default); T3d= (up, down, default); нельзя у перечисляемого типа...

Перечисляемый тип
Подскажите В перечисляемом типе всего элементов может быть 65536. Но объём типа-перечисления...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru