Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
#1

Как програмно узнать сколько элементов в перечислении? - C++

09.08.2013, 15:51. Просмотров 539. Ответов 8
Метки нет (Все метки)

Допустим, есть такое перечисление.
C++
1
enum Month{JANUARY=1, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER};
sizeof(Month) показывает размер одного элемента
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2013, 15:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как програмно узнать сколько элементов в перечислении? (C++):

Как узнать сколько в файле строк? - C++
Погуглил, функций не нашел. Решил изобретать велосипед: int get_file_numstr(char * filename) { unsigned long i = 0; FILE...

Как узнать, сколько байт прочитано? - C++
std::ifstream Options; Options.open("Options.SculptorOptions", std::ios::binary); Options.read((char*)this, sizeof(TOptions)); ...

Как узнать сколько раз использувалась функция? - C++
Здравствуйте, я написал функцию суммы: float suma(float a, float b) { float sum; sum = a+b; return sum; }

Как узнать, сколько на дисках свободного места - C++
Пожалуйста форумчане помогите с кодом как узнать сколько на дисках свободного места, надо чтоб в консоле под windows вывело на экран...

Как узнать, в процесе отладки, сколько памяти занимает программа? - C++
Вот чтобы проследить за тем сколько и когда программа занимает и какое количество килобайт под капие переменные.... Чтобы увидеть что...

Как узнать, сколько времени осталось до конца таймера QTimer Qt - C++
Или лучше делать на чистом Си++ таймер? Добавлено через 15 часов 2 минуты И выводить постоянно Добавлено через 6 часов 10 минут...

8
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
09.08.2013, 16:00 #2
C++
1
int n = DECEMBER - JANUARY;
так что ли?
1
NoMasters
Псевдослучайный
1906 / 1117 / 77
Регистрация: 13.09.2011
Сообщений: 3,169
09.08.2013, 16:00 #3
В общем случае никак
1
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
09.08.2013, 16:01 #4
BigLow, ну если всё так, как ты написал, то начиная с февраля все месяцы будут равны JANUARY + 1. Т.е. int monthsCount = DECEMBER выдаст 12
1
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
09.08.2013, 16:09  [ТС] #5
Цитата Сообщение от coloc Посмотреть сообщение
int n = DECEMBER - JANUARY;
смысл понял. только правильней бедет int n = DECEMBER

nexen, спасибо

Добавлено через 1 минуту
но тут все равно нужно знать название последнего элемента. А если я не знаю, то тогда не получится посчитать
0
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
09.08.2013, 16:11 #6
Цитата Сообщение от BigLow Посмотреть сообщение
JANUARY=1
ИМХО лучше начинать индексацию с нуля а не с единицы. Потом путаницы много будет и непонятные ошибки. Например при работе с массивами.
0
NoMasters
09.08.2013, 16:14
  #7

Не по теме:

coloc, нулябрь надо вводить, известная тема же ж.

1
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
09.08.2013, 16:16  [ТС] #8
Цитата Сообщение от NoMasters Посмотреть сообщение
В общем случае никак
неужели нет ничего такого, как для массивов? sizeof() для массива выдает количество байтов, которое он занимает
0
0x10
2548 / 1728 / 264
Регистрация: 24.11.2012
Сообщений: 4,348
09.08.2013, 16:20 #9
BigLow, кроме этого, нет гарантии, что значения в перечислении будут идти с постоянным шагом 1.
1
09.08.2013, 16:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2013, 16:20
Привет! Вот еще темы с ответами:

Как узнать в програме сколько раз числа меняются с чётного на нечётное? - C++
Помогите.. такая задача... Нужно ввести числа и узнать сколько раз они поменялись с чётного на нечётное... очень надо

Как узнать, сколько памяти занимает тот или иной элемент программы? - C++
Товарищи, подскажите, пожалуйста, ответы на следующие вопросы: 1) Есть какие-либо средства определения, сколько памяти жрёт программа в...

Как узнать, сколько секунд прошло с 1 января 1970 гда до определённой даты? - C++
Если дата текущая, то это значение можно получить так: /* time example */ #include <stdio.h> #include <time.h> int main () { ...

Перечислении: их ввод - C++
Не могу понять как это реализовать: Вот сама задача. Есть Диски(CD/DVD). Пользователь вводит Названия диска (тип string). И выбирает...


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

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

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