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

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

Войти
Регистрация
Восстановить пароль
 
 
Яна_Max
3 / 3 / 0
Регистрация: 08.11.2011
Сообщений: 137
#1

Описание структуры с полем массив - C++

08.12.2011, 01:01. Просмотров 744. Ответов 19
Метки нет (Все метки)

Здравствуйте!
Было необходимо описать структуру с именем KLASS, содержащую следующие поля:
1) фамилия,имя
2)день рождения(массив из трех чисел)
Bash
1
2
3
4
5
 #include <stdio.h>
struct KLASS
{ char fam_name[23];
  mas[3] day;
};
хммм....чувствую не так...а как бы еще написать...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2011, 01:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описание структуры с полем массив (C++):

Как передать в функцию указание работы с конкретным полем структуры? - C++
Как передать в функцию указание для работы со структурным объектом без дублирования кода внутри функции? struct DATA { unsigned...

Работа с памятью: можно ли в массив объектов с полем типа "Родитель", вписать объекты с полем типа "Потомок" - C++
Здравствуйте. Предположим, что у нас есть массив из структур в которых находиться класс Item и число Count. Можно ли на место Item записать...

Описание структуры - C++
Помогите сделать лабу=) Описать структуру с именем tsZnak, содержащую следующие поля: *Фамилия, имя *Знак зодиака *дата...

Описание структуры - C++
Заранее извиняюсь, если кому-то мой вопрос покажется слишком уж элементарным и не стоящим внимания, но я зашел уже в тупик :( Итак,...

Описание структуры - C++
Здравствуйте. Помогите решить задачу. Заранее спасибо. Описать структуру с именем «Автомобиль», содержащую следующие поля: а) марка; ...

Описание структуры TRAIN - C++
Задача: описать структуру с именем TRAIN, содержащую след. поля: 1)название пункта назначения 2)номер поезда 3)время отправления ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
08.12.2011, 01:08 #2
Может, так:
C++
1
2
3
4
5
6
struct KLASS
    {
        char* name;
        char* family;
        int date[3];
    };
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
08.12.2011, 01:14 #3
Цитата Сообщение от Heidel Посмотреть сообщение
Может, так:
почему может точно)
Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
08.12.2011, 01:14 #4
Или даже так
C++
1
2
3
4
5
struct KLASS
        {
                char* family_name;
                int date[3];
        };
Яна_Max
3 / 3 / 0
Регистрация: 08.11.2011
Сообщений: 137
08.12.2011, 01:16  [ТС] #5
Цитата Сообщение от Heidel Посмотреть сообщение
int date[3]
Думаю это не совсем так. Это что-то вроде выделяемого места/позиций. Может и ошибаюсь
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
08.12.2011, 01:17 #6
не согласен для работы будет удобнее отдельно имя отдельно фамилия задания бывают разного плана а вырезать кусок из строки не всегда хочеться

Добавлено через 1 минуту
Цитата Сообщение от Яна_Max Посмотреть сообщение
Думаю это не совсем так. Это что-то вроде выделяемого места/позиций. Может и ошибаюсь
это массив состоящий из 3 элементов date[0] date[1] date[2] каждый элемент будет иметь своё значение
Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
08.12.2011, 01:19 #7
A555, ну, по запросу ТС, "фамилия, имя" - одно поле, а там уж пусть сама разбирается, как будет удобнее.

Яна_Max, если поле "день рождения" нужно задать как массив из трех чисел, то задается оно именно так.
Яна_Max
3 / 3 / 0
Регистрация: 08.11.2011
Сообщений: 137
08.12.2011, 01:24  [ТС] #8
A555, а char fam_name [23] в таком случае тоже будет являться массивом?
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
08.12.2011, 01:54 #9
да конечно массив
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
08.12.2011, 01:57 #10
C++
1
2
3
4
5
6
7
8
9
10
struct date
{
    unsigned int day, month, year;
};
 
struct Class
{
    std::string name;
    date d;
};
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
08.12.2011, 01:59 #11
не самый просто вариант но сказать нечего он будет самым верным
alkagolik
Заблокирован
08.12.2011, 02:08 #12
Яна_Max, насколько я понимаю вы пишете на Си. В Си структуры используются в коде немного иначе.
C
1
2
3
4
5
struct list
{
    int value;
    struct list *next;
};
в данном случае list это имя структуры, оно везде в коде должно употреблятся с явным указанием ключевого слова struct. Это видно из того что в самой структуре есть указатель на такую же структуру. Идеальный вариант объявлять так
C
1
2
3
4
5
typedef struct list
{
    int value;
    struct list *next;
} list_t;
тут мы объявляем структуру с именем list и с помощью инструкции typedef обозначаем имя структуры struct list как тип list_t. Далее в коде мы можем уже оперировать типом list_t. Например
C
1
sizeof(struct list) == sizeof(list_t)
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
08.12.2011, 02:10 #13
Цитата Сообщение от alkagolik Посмотреть сообщение
Яна_Max, насколько я понимаю вы пишете на Си. В Си структуры объявляются немного иначе.
C
1
2
3
4
5
struct list
{
    int value;
    struct list *next;
};
в данном случае list это имя структуры, оно везде в коде должно употреблятся с явным указанием ключевого слова struct. Это видно из того что в самой структуре есть указатель на такую же структуру. Идеальный вариант объявлять так
C
1
2
3
4
5
typedef struct list
{
    int value;
    struct list *next;
} list_t;
тут мы объявляем структуру с именем list и с помощью инструкции typedef обозначаем имя структуры struct list как тип list_t. Далее в коде мы можем уже оперировать типом list_t. Например
C
1
sizeof(struct list) == sizeof(list_t)
зачем так усложнять? и вы серьёзно с каких пор нормальные объявление структуры отменили?
Яна_Max
3 / 3 / 0
Регистрация: 08.11.2011
Сообщений: 137
08.12.2011, 02:42  [ТС] #14
Mиxaил, но можно так,как говорилось выше?
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
08.12.2011, 02:44 #15
все варианты что писали верны
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2011, 02:44
Привет! Вот еще темы с ответами:

Описание структуры ORDER - C++
Может помочь с ошибкой и проверить правильно ли все работает)) Описать структуру с именем ORDE: Записи должны быть размещены в алфавитном...

Важно: Описание структуры - C++
помогите плиз в программирование нечё не шарю надо написать прогу на лабу 1. Описать структуру с именем FACULT, содержащую...

Описание структуры NOTE - C++
Описать структуру с именем NOTE, содержанию следующие поля: 1) фамилия, имя; 2) номер телефона; 3) дата рождения (массив из трех...

Описание структуры, которая представляет монастырь - C++
Ведомость спортивних состязаний Фамилия участника Код команды Количество балов Место в итоге Баландин С ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.12.2011, 02:44
Ответ Создать тему
Опции темы

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