Лабораторная работа № 3. Объединения, перечисления, битовые поля
Задание
| Краткие теоретические сведения
| 1. Изучить принципы работы с объединениями, выполнив программу, записанную в данном пункте.
| Объединение – это поименованная совокупность данных разных типов, размещаемых в одной и той же области памяти, размер которой достаточен для хранения наибольшего элемента. Объединение подобно структуре, однако в каждый момент времени может использоваться только один из элементов объединения.
В примере программы выводятся компоненты объединения Utypes.
Первая часть программы выполняется без ошибок, поскольку данные разных типов присваиваются объединению не одновременно, а последовательно.
Во второй части правильно отобразится лишь значение типа double, поскольку оно было занесено последним.
| 2. Изучить принципы работы с перечислениями, выполнив программу, записанную в данном пункте.
|
Перечисления используются в тех случаях, когда данные можно представить в виде нумерованного списка, например содержащего названия месяцев года или дней недели.
В примере создается перечисление emonths, включающее названия месяцев.
Здесь перечисление представляет собой ряд целых чисел от 1 до 12. Например, значение переменной months, после того как ей была присвоена константа December, стало равным 12.
Поскольку названию каждого месяца соответствует определенное числовое значение, то элементы перечисления могут участвовать в арифметических операциях.
| 3. Изучить принципы работы с битовыми полями, выполнив программу, записанную в данном пункте.
.
| Элементом структуры может быть битовое поле, обеспечивающее доступ к отдельным битам памяти, которые позволяют рационально использовать память с помощью хранения данных в минимально требуемом количестве битов. Элементы битового поля должны быть объявлены как тип int или unsigned.
В программе отображается в двоичной системе счисления ASCII-код, который генерируется при нажатии любой клавиши. При этом используется объединение bitsи битовые поля byte. Объединение позволяет присвоить значение нажатой клавиши символьной переменной, а битовые поля используются для отображения отдельных битов.
Программа прекращает работу при нажатии буквы q.
| 4. В соответствии со своим вариантом разработать программу с использованием структур разного типа для работы с данными из таблицы, приведенной ниже. Реализовать функции ввода, вывода, редактирования, удаления, поиска элементов.
Интерфейс пользователя осуществить в виде меню:
1 - ввести данные
2 - вывести на экран......
№ варианта
| Условие задачи
|
| Отдел кадров. Ф.И.О. работника, образование, специальность, подразделение, должность, оклад, дата поступления на предприятие. Выбор по должности, стражу работы.
Даты реализовать с помощью битового поля, должность - с помощью перечисления.
|
| Горожанин. Ф.И.О., дата рождения, адрес, пол (м, ж). Выборка по полу и году рождения.
Дату рождения организовать с помощью битового поля, пол - с помощью перечисления.
|
| Ученики. Ф.И.О., класс (цифра+буква) предметы, оценки, средний балл. Выбор по фамилии, выбор по среднему баллу. Класс реализовать с помощью битового поля, предметы - через перечисление.
|
| Клиенты банка. Ф.И.О., тип счета (срочный, льготный и т. д.), номер счета, сумма на счете, дата последнего изменения. Выбор по номеру счета, по диапазону суммы (< 100, > 100).
Дату реализовать с помощью битового поля, тип счета - с помощью перечисления.
|
| Личная библиотека. Автор книги, название, издательство, раздел библиотеки (специальная литература, хобби, домашнее хозяйство, беллетристика и т. д.), происхождение (покупка, кража, подарок) и наличие книги в данный момент. Выбор книг по автору, году; инвентаризация библиотеки (вывод всего списка книг по категориям). Происхождение книги реализовать с помощью перечисления.
|
| Справочник автомобилей. Марка автомобиля, цвет, заводской номер, дата выпуска, тип кузова (седан, универсал и т. п.), дата последнего техосмотра, владелец. Выбор транспортных средств по владельцу или номеру. Формирование приглашений на техосмотр в соответствии со сроком.
Дату выпуска реализовать с помощью битового поля, марку - с помощью перечисления.
|
| Склад. Наименование товара, цена, количество, процент торговой надбавки (5, 10, 15, 20, 35, 30). Выбор по наименованию, цене. Вывод всего списка товаров на складе с расчетом сумм.
Процент торговой надбавки реализовать с помощью перечисления.
|
| Авиарейсы. Номер рейса, пункт назначения, время вылета, дата вылета, стоимость билета, количество мест. Выбор по пункту назначения, дате вылета.
Дату вылета реализовать с помощью битового поля, пункт назначения - с помощью перечисления.
|
| Вокзал. Номер поезда, пункт назначения, дни следования, время прибытия, время отправления. Выбор по пункту назначения, дате. Вывод расписания по времени.
Дни следования реализовать с помощью перечисления. Время выбытия и прибытия реализовать с помощью битового поля (часы, минуты).
|
| Государство. Наименование, столица, численность населения, площадь, фамилия президента. Выбор государства по названию, занимаемой площади (> заданного значения).
Форму правления реализовать с помощью перечисления.
|
| Ломбард. Фамилия клиента, наименование товара, оценочная стоимость, сумма, выданная под залог, дата сдачи, срок хранения. Выбор товаров по истечении срока хранения, по наименованию товара.
Дату сдачи реализовать с помощью битового поля.
|
| Записная книжка. Ф.И.О, дата рождения, адрес, телефон, место работы или учебы, должность. Автоматическое формирование поздравления с днем рождения (по текущей дате). Поиск по фамилии.
Дату рождения реализовать с помощью битового поля.
|
| Студенты. Ф.И.О., дата поступления, специальность, группа, факультет, средний балл. Выбор по году поступления, фамилии, среднему баллу, группе.
Дату поступления реализовать с помощью битового поля, факультет - с помощью перечисления.
|
| Список клиентов гостиницы. Паспортные данные, даты приезда и отъезда, номер, тип размещения (люкс, одноместный, двухместный, трехместный, апартаменты). Поиск гостя по дате приезда или по фамилии.
Даты приезда и отъезда реализовать с помощью битового поля, тип размещения - с помощью перечисления.
|
| Справочник абитуриента. Наименование вуза, адрес, перечень специальностей, конкурс прошлого года по каждой специальности, размер оплаты при договорном обучении. Выбор по разным критериям: все о данном вузе; все о данной специальности, поиск минимального конкурса по данной специальности.
Конкурс прошлого года по каждой специальности реализовать через битовые поля, перечень специальностей - через перечисления.
|
| Преподаватели. Фамилия преподавателя, название экзамена, дата экзамена. Выбор по фамилии, дате экзамена.
Дату экзамена реализовать с помощью битового поля.
|
В начало практикума
Популярное:
|