Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
#1

Вопрос о разумном использовании структур\перечислений\объединений - C++

19.02.2012, 20:15. Просмотров 794. Ответов 14
Метки нет (Все метки)

Доброго времени суток, Форумчане!
Цель работы - написание что-то типа базы данных. Допустим я захотел сделать базу видео.. и вот, интересует помощь в плане обьяснений, где разумнее использовать структуру , где обьединение, где перечисление..

Мой план таков:

Делаю общую структуру, в ней:
-имя
-год
-обьединение с выбором (фильм\мультфильм\видеоролик)
Обьединение включает в себя структуры:
-фильм
-мультик
-другое видео

И просто эти структуры забить полями..
Фильм:
-автор
-жанр (перечисления)
-длительность
-оценка (перечисления)
-страна

мультик
-автор
-жанр (перечисления)
-длительность
-оценка (перечисления)
-страна

Видео:
-дата создания (перечисления)(1-31)
-месяц (перечисления)
-страна

логично ли всё будет так делать, или же где-то будет правильнее использовать иначе .. !? Надеюсь не сильно растянул и суть вопроса ясна спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2012, 20:15     Вопрос о разумном использовании структур\перечислений\объединений
Посмотрите здесь:

Программирование с использованием перечислений, структур, объединений и полей бит - C++
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем –обработка списка. Сначала в...

применение указателей, структур и объединений - C++
Здравствуйте, люди добрые!! (^_^)/ Очень нуждаюсь в вашей помощи... Помогите разобраться студентке!! (Y_Y)(^o^)/ Задание...

Объявить объединение из двух структур и структуру из двух объединений - C++
Объявить объединение из двух структур и структуру из двух объединений. Заполнить значениями, вывести на экран.

Диапазон перечислений - C++
Как узнать диапазон перечислений? enum e2 {a = 3, b = 9}; В книге написано диапазон перечислений равен (0; 15) Говорится что...

Обход ограниечения перечислений - C++
Здравствуйте. Помогите пожалуйста решить следующую задачу. Необходимо обойти ограничение перечислений, которое не позволяет кроме...

Как сделать сортировку по дате в массивве объединений - C++
Оформлены в виде массива объединений. Написать программу, которая вводит данные в память машины в диалоге, выводит данные в виде Вывод...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
19.02.2012, 21:20     Вопрос о разумном использовании структур\перечислений\объединений #2
Eugen-S, на С++ принципиально делать не хотите? Здесь как-раз проще будет с классами, наследованием, etc... А так - из далека похоже. Начните делать - будет видно, что получится...
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
19.02.2012, 21:21  [ТС]     Вопрос о разумном использовании структур\перечислений\объединений #3
нет, я студент, 1й курс, пока вот, до чего доучился, то нужно и использовать... )
так, идея вцелом правильна? относительно использования?
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
19.02.2012, 21:28     Вопрос о разумном использовании структур\перечислений\объединений #4
Видно же, что различие заключается только в типе и отсутствии жанра для "видео", остальные поля на деле совпадают. Нет никакого смысла в разной структуре данных. Ну и мотивация использования для месяца и, особенно, дня перечисления не ясна.
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
19.02.2012, 22:26  [ТС]     Вопрос о разумном использовании структур\перечислений\объединений #5
окей, тогда обьясни вот.. на примере где было бы логично использовать перечисления..
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
19.02.2012, 22:30     Вопрос о разумном использовании структур\перечислений\объединений #6
В списках состояний/типов. Причём только если они используются внутри кода, ибо пользователю всё равно не видно.
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
19.02.2012, 22:33  [ТС]     Вопрос о разумном использовании структур\перечислений\объединений #7
не совсем понял.. т.е. вот допустим как бы в моем задании - нет места для разумного использования перечислений, так?
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
19.02.2012, 22:46     Вопрос о разумном использовании структур\перечислений\объединений #8
Тип видео и жанр имеет смысл ими задать, если от их вариантов зависит поведение кода.
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
19.02.2012, 22:51  [ТС]     Вопрос о разумном использовании структур\перечислений\объединений #9
тип видео , в плане "ави, мов, мп4" , подобное? и жанр, забить "комедия, драма" ,да?
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
19.02.2012, 22:57     Вопрос о разумном использовании структур\перечислений\объединений #10
В плане "мультик"/"фильм"(если ты одумаешься и сделаешь единый тип данных на всё). Но ещё раз: если ты не собираешься каким-либо образом использовать эти типы в коде, смысла в этом мало, перечисления нужны только для удобства его чтения.
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
19.02.2012, 23:01  [ТС]     Вопрос о разумном использовании структур\перечислений\объединений #11
а может быть перечисление обьединений?
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
19.02.2012, 23:09     Вопрос о разумном использовании структур\перечислений\объединений #12
Перечисление — в общем-то синтаксический сахар над дефайном, поэтому
Цитата Сообщение от Eugen-S Посмотреть сообщение
перечисление обьединений
это какая-то ересь.
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
19.02.2012, 23:13  [ТС]     Вопрос о разумном использовании структур\перечислений\объединений #13
т.е. по сути, перечисления мне тут не нужны? вот если вобщем так..
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
19.02.2012, 23:26     Вопрос о разумном использовании структур\перечислений\объединений #14
Да. Они нужны, если в программе начинают появляться некие "магические числа", например, если бы у тебя была разная обработка для мультиков и фильмов, можно было бы написать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
enum
{
    FILM,
    ANIMATION
}
 
...
 
switch(item.type)
{
    case FIML://вместо case 0:
        ...
    case ANIMATION://вместо case 1:
        ...
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2012, 00:20     Вопрос о разумном использовании структур\перечислений\объединений
Еще ссылки по теме:

Узнать количество перечислений в enum - C++
Добрый день! Как узнать количество перечислений в ABCDEF. enum ABCDEF{ P1, P2, P3 }; //Как-то так должно быть: ...

Начальное значение для переменных-перечислений - C++
enum {purchasing, selling, noAction} action; При таком объявлении, начальное значение action в 10 из 10 запусков - purchasing. Суть...

Написать программу удаления заданного числового значения из массива объединений - C++
Написать программу удаления заданного числового значения из массива объединений

Объясните что такое массив объединений и с чем его едят - C++
Написать программу удаления заданного числового значения из массива объединений. Объясните что такое массив объединений и с чем его...


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

Или воспользуйтесь поиском по форуму:
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
20.02.2012, 00:20  [ТС]     Вопрос о разумном использовании структур\перечислений\объединений #15
вроде чуток разобрался.. спасибо! вот как бы ты делаешь перечисление, а потом в case , в зависимости от выбора уже дальше идет обращение к чему-то, допустим я могу данные о фильмах сделать в структуру, данные о мультиках - в другую,отличную структуру.. и обращаться к струтурам этим, так?) а для экономии памяти обьединить эти две структуры под обьединением.. правильно?

Добавлено через 43 минуты
Вобщем переделал, теперь такова схема:

Общая структура, в ней:

-Имя
-Год
-Страна
-перечисление (фильм\мультик\видео) в зависимости от выбора, обьединение структур:

для фильма:
-жанр (перечисление)
-режисер
-бюджет

для мультика:
-студия в которой выпустили

для видео:
-день
-месяц
-доступ (всем\лицам после 18)

нормально если так? разумное распределение?
Yandex
Объявления
20.02.2012, 00:20     Вопрос о разумном использовании структур\перечислений\объединений
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru