Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 24.09.2012
Сообщений: 85

Типы данных, определяемые пользователем

25.11.2012, 23:32. Показов 4800. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
3. Разработать битовое поле, описывающее состояния элементов прибора. Ввести с консоли число в 16-ричной системе счисления, преобразовать его в битовое поле за счёт использования объединения. Вывести на консоль состояния элементов прибора, соответствующие состоянию битов во введённом числе.

(MP3 проигрыватель-диктофон. Элементы: воспроизведение вкл/выкл, пауза вкл/выкл, запись вкл/выкл.)
По возможности . можете написать на си
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.11.2012, 23:32
Ответы с готовыми решениями:

Структуры, объединения и определяемые пользователем типы. Массивы структур
Здравтсвуйте! Помогите, пожалуйста, разобраться с одной задачкой! Условие следующее: Разработать программу обработки данных...

Манипуляторы, определяемые пользователем
Суть программки в то, что нужно создать класса MyClass, в которой добавлены манипуляторы iOnly и jAlso, управляющие выводом на экран i и j,...

Типы данных: есть ли универсальный тип, который может заменить все типы данных в Си?
Добрый вечер! Был бы очень признателен, если бы Вы помогли бы мне понять нижеследующие вопросы: 1. Можете ли на понятным для...

24
 Аватар для activnaya
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
26.11.2012, 05:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Оп-па!
поймал БОГА за бороду? просто недокопирастила. Видел же откуда копипаста
C
1
2
3
typedef struct {
    size_t status : 3;
} status_t;
ну и по аналогии
C
1
2
3
typedef union{
    size_t status : 3;
}status_t;
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Во-вторых, почитай, что такое union в языке С++.
вообще - то я программу на Си писала. Топик стартер так просил. И я считаю что принципиальнойразницы между union и struct нету. Зачем толочь воду в ступе? обратимся к стандарту c99.
6.2.5.20.
—A structure type describes a sequentially allocated nonempty set
(and, in certain circumstances, an incomplete array), each of whic
specified name and possibly distinct type.
—A union type describes an overlapping nonempty set of memb
which has an optionally specified name and possibly distinct type.
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
и скажи, зачем создавать union из одного элемента
затем что это не один элемент, а битовое поле.

Не по теме:

P.S. я понимаю что ты клевый парень и все такое.

0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
26.11.2012, 05:20
Цитата Сообщение от activnaya Посмотреть сообщение
поймал БОГА за бороду? просто недокопирастила. Видел же откуда копипаста
Да о чём речь вообще? Говорю ж, не суть. Я и сам не люблю, когда не по теме к синтаксису цепляются.
Цитата Сообщение от activnaya Посмотреть сообщение
И я считаю что принципиальнойразницы между union и struct нету.
А вот это Вот это уже чистосердечное признание! Эти слова задокументированы, нотариально заверены и навечно сохранены на трёх жёстких дисках.

Всё, я понял, что ты не видишь огроменной разницы между struct и union. Поэтому, чтобы не растягивать пост объяснением, настоятельно советую всё же сходить в википедию/гугл/книжку Кериганна&Ритчи и прочитать, что такое union.
Я понимаю, что возможно у тебя много великолепных программ написано, где не использовались union. Использовать его просто не приходилось, вероятно. Но вот оно: рано или поздно пробел в знании обнаруживается, ничего личного, просто прочитай, что такое union/

Добавлено через 5 минут
Ну даже к сайтам и книжкам отсылать не надо! По-твоему, тут одно и то же написано?
Цитата Сообщение от activnaya Посмотреть сообщение
—A structure type describes a sequentially allocated nonempty set
(and, in certain circumstances, an incomplete array), each of whic
specified name and possibly distinct type.
—A union type describes an overlapping nonempty set of memb
which has an optionally specified name and possibly distinct type.
Тип union описывает набор ПЕРЕКРЫВАЮЩИХСЯ В ПАМЯТИ членов, каждый своего типа.
Тип struct описывает набор ПОСЛЕДОВАТЕЛЬНО РАСПОЛОЖЕННЫХ В ПАМЯТИ членов, каждый своего типа.
0
 Аватар для activnaya
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
26.11.2012, 05:39
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Тип union описывает набор ПЕРЕКРЫВАЮЩИХСЯ В ПАМЯТИ членов, каждый своего типа.
Тип struct описывает набор ПОСЛЕДОВАТЕЛЬНО РАСПОЛОЖЕННЫХ В ПАМЯТИ членов, каждый своего типа.
ну и что? в контексте задачи (я именно в контексте задачи подразумевала отсутствие принципиальной разницы) это совсем не имеет значения.
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Всё, я понял, что ты не видишь огроменной разницы между struct и union.
вижу и знаю. Вот же она
Кликните здесь для просмотра всего текста
C
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
#include <stdio.h>
#include <stdlib.h>
 
struct S
{
    size_t (*ptr)(void);
    size_t ret_val;
};
 
union U
{
    size_t (*ptr)(void);
    size_t ret_val;
};
 
size_t f(void) {return 1;}
 
int main()
{
    struct S s;
    union U u;
 
    s.ptr = f;
    u.ptr = f;
    s.ret_val = s.ptr();
    u.ret_val = u.ptr();
 
    printf("%u\n", s.ret_val);
    printf("%u\n", u.ret_val);
    printf("%X\n", &s.ptr);
    printf("%X\n", &s.ret_val);
    printf("%X\n", &u.ptr);
    printf("%X\n", &u.ret_val);
 
    exit(EXIT_SUCCESS);
}
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
26.11.2012, 05:56
Короче, ещё раз, мой пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
union status{
    struct{
        unsigned rec  : 1;
        unsigned pause: 1;
        unsigned play : 1;
    }bits;
    unsigned char data;
};
int main(){
    union status MyStat;
    printf("input hex byte:");
    scanf("%x", &(MyStat.data));
    printf("\ndevice status:");
    printf("\nrec  :%s", (MyStat.bits.rec  )?"on":"off");
    printf("\npause:%s", (MyStat.bits.pause)?"on":"off");
    printf("\nplay :%s", (MyStat.bits.play )?"on":"off");
    getchar();
return 0;
}
Статус хранится в объединении, а именно data и bits находятся в одном и том же байте!
считывая с клавиатуры MyStat.data биты rec pause play устанавливаются в соответствии с тремя младшими битами data
Для этого я и храню их в объединении, чтобы можно было обращаться к байту или как к unsigned char data
или как к перекрывающему его в одной ячейке с ним битовому полю

Тут нет ничего лишнего, я не вижу ни одного способа записать это, вложив наоборот объединение внутрь структуры, преподаватели что просят решить задачу с помощбю объединения, просят именно это.
0
 Аватар для activnaya
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
26.11.2012, 06:07
Kuzia domovenok, так вот в чем смысл а я совсем не поняла. А теперь понимаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.11.2012, 06:07

Типы данных: чем отличается тип данных int от float?
Всем привет! Помогите пожалуйста, чем отличается тип данных int от float?

Типы Данных
Извиняюсь, за тупой вопрос, но какой самый большой целочисленный тип данных доступный в компиляторе visual c++ express edition 2010, по...

Типы данных
Добрый день. Очень нужна помощь умных людей в написании программы, задание приведено ниже. Буду очень благодарен если кто-то откликнется. ...

типы данных
какой диапазон данных у main, getch? и какой тип данных у getch?

Типы данных
Перекопал везде и всюду, может где-то и есть обьяснение по поводу типов данных. Какая разница между следующими типами данных (имеется...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
сукцессия 6. Питон реализация энилоджиковской модели, картинка про Центральную часть будущей модели
anaschu 26.06.2026
Етить. ИИ мне на основе моего старого файла R создал вот эту вот хмерь на пайтоне. Это уже новая модель, модель сукцессии грибной. потоки фосфора, азота. Углерода. 5 видов организмов. Я даже. . .
Как замкнутый ядерный цикл решит проблему недостатки фосфора? Био миграция фосфора со дна океана
anaschu 26.06.2026
Биологический лифт: Концепция подъема фосфора со дна океана с помощью ЗЯТЦ Предлагаю на обсуждение альтернативу тяжелому промышленному бурению океанического дна. Вместо сложной инженерии мы можем. . .
сукцессия 5
anaschu 26.06.2026
ПЛАН РАЗРАБОТКИ математической модели сукцессии микоризных систем Переход AM → EcM (Endo + ErM) · Шумилов А. С. · ИФХиБПП РАН · Пущино · 2026 . . .
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки План доработки модели динамики микоризных симбиозов (EcM с гистерезисом) Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
сукцессия 3
anaschu 25.06.2026
Примерный план работ по модели
сукцессия 2
anaschu 25.06.2026
параметризировочная калибровочная таблица будущей модели
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал Материалы для обсуждения с МГСУ · 2026 Рисунки внутри приложенного ворд файла. Что за. . .
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования? Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная. Где разрыв . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru