Форум: Форум C++Разное
Новые темы: 00
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: подсчитать кол-во элементов в структуре
 
 автор: THERAPYbrother   (20.02.2008 в 16:57)   письмо автору
 
 

есть структура
struct
{
   int iIndex;
   char* szDesc;
}devcaps[]=
{
   HORZSIZE,        "Widht in millimeters",
   VERTSIZE,        "Height in millimeters",
   HORZRES,         "Width in pixels",
   VERTRES,         "Height in raster lines",
   BITSPIXEL,       "Color bits per pixels",
   PLANES,          "Number of colors planes",
   NUMBRUSHES,      "Number of device brushes",
   NUMPENS,         "Number of device pens",
   NUMMARKERS,      "Number of device markers",
   NUMFONTS,        "Number of device fonts",
   NUMCOLORS,       "Number of device colors",
   PDEVICESIZE,     "Size of device structure",
   ASPECTX,         "Relative width of pixel",
   ASPECTY,         "Relative height of pixel",
   ASPECTXY,        "Relative diagonal of pixels",
   LOGPIXELSX,      "Horizontal dots per inch",
   LOGPIXELSY,      "Vertical dots per inch",
   SIZEPALETTE,     "Number of palette entries",
   NUMRESERVED,     "Reserved palette entries",
   COLORRES,        "Actual color resolution"
};


как подсчитать кол-во элементов?

  Ответить  
 
 автор: cheops   (21.02.2008 в 04:22)   письмо автору
 
   для: THERAPYbrother   (20.02.2008 в 16:57)
 

Имеется в виду подсчитать количество элементов в массиве devcaps? Имя структуре нет возможности назначить?

  Ответить  
 
 автор: THERAPYbrother   (21.02.2008 в 09:17)   письмо автору
 
   для: cheops   (21.02.2008 в 04:22)
 

Ну наверное есть)
просто я не знаю пока как это сделать,мои знания ограничены строго примерами в книге((
щас попробую на своем языке сказать))
под элементом я подразумеваю вот это
HORZSIZE,        "Width in millimeters",

Вот нужно подсчитать кол-во таких пар

  Ответить  
 
 автор: cheops   (22.02.2008 в 05:21)   письмо автору
 
   для: THERAPYbrother   (21.02.2008 в 09:17)
 

Хотя вероятно можно обойтись и одним названием devcaps: разделите размер всего массива, на размер его первого элемента и получите общее количество элементов
  cout << sizeof(devcaps)/sizeof(devcaps[0]) << endl;

  Ответить  
 
 автор: THERAPYbrother   (25.02.2008 в 13:32)   письмо автору
 
   для: cheops   (22.02.2008 в 05:21)
 

#define NUMLINES(sizeof(devcaps)/sizeof(devcaps[0]))


вот делаю так,в примере так же,не работает((

  Ответить  
 
 автор: cheops   (26.02.2008 в 05:43)   письмо автору
 
   для: THERAPYbrother   (25.02.2008 в 13:32)
 

Макрос используете в той же функции, где массив объявлен? Или в другой (в другой скорее всего он не сработает)?

  Ответить  
 
 автор: THERAPYbrother   (26.02.2008 в 14:45)   письмо автору
 
   для: cheops   (26.02.2008 в 05:43)
 

Я не совсем вас понял)
есть файл, devcaps.h
В самом начале делаю так,как показал выше.
Потом идет массив сразу же
Файл .cpp его подключает.
Сейчас я делаю так
int NUMLINES=sizeof(devcaps)/sizeof(devcaps[0]);

Все работает и устраивает меня,но все-таки хочу разобраться.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования