Доступ к элементам структур с битовыми полями



Для обращения к битовым полям используются те же конструкции, что и для обращения к обычным элементам структур:

ИмяСтруктуры.ИмяПоля(* УказательНаСтруктуру). ИмяПоляУказательНаСтруктуру -> ИмяПоля

Например, для структуры xx с битовыми полями:

struct {   int a : 10;         int b : 14;        } xx;

правомочны следующие операторы:

xx.a=1;xx.b=48;xx.a=xx.b=0;

От реализации зависит порядок размещения в памяти полей одной структуры. Поля могут размещаться как слева направо, так и справа налево. Любой код программ, использующий битовые поля, зависит от компьютера и компилятора.

Пример 5 .

#include "stdafx.h"#include <iostream>using namespace std;struct expl {        int i:2;        unsigned j:2;        int :2;        int k:2;        int dummy: 8;       } my;int _tmain(int argc, _TCHAR* argv[]) { my.dummy = 0; my.i = 1; my.j = 3; my.k = -1; printf("%d\n", my); printf("Поля: %d\t%d\t%d", my.i, my.j, my.k); system("pause"); return 0;}

На рис. 2 показывается, как выглядит переменная структурного типа my в памяти.


Рис. 2. Побитовое представление структуры

Пример 6. Иллюстрация возможностей объединений и структур с битовыми полями.

В программе вводятся значения двух целых переменных m и n, и остатки от их деления на 16 заносятся соответственно в четыре младших и в четыре старших разряда одного байта. Таким образом, выполняется некоторая кодировка введенных значений переменных m и n. Затем печатается изображение содержимого сформированного байта.

Обратите внимание на использование объединения. В функции cod() запись данных производиться в элементы (битовые поля) структуры hh, входящей в объединение un, а результат выбирается из того же объединения un в виде одного байта. В функции binary() происходит обратное преобразование – в нее как значение параметра передается байт, содержимое которого побитово "расшифровывается" за счет обращения к отдельным полям структуры byte, входящей в объединение cod.

//Структуры, объединения и битовые поля#include "stdafx.h"#include <iostream>using namespace std;void binar (unsigned char); //прототип функцииunsigned char cod (int, int); // прототип функции int _tmain(int argc, _TCHAR* argv[]) { unsigned char k; int m, n; printf("m="); scanf("%d", &m); printf("n="); scanf("%d", &n); k=cod(m,n); printf("cod=%u\n", k); binar(k); system("pause"); return 0;} /*Упаковка в один байт остатков от деления на 16 двух целых чисел*/unsigned char cod (int a, int b) { union {          unsigned char z;    struct {                  unsigned int x : 4;//младшие биты            unsigned int y : 4;//старшие биты          } hh;   } un; un.hh.x=a%16;   un.hh.y=b%16; return un.z;} //двоичное представление байтаvoid binar (unsigned char ch) { union {          unsigned char ss;    struct {                  unsigned a0 : 1;                  unsigned a1 : 1;            unsigned a2 : 1;            unsigned a3 : 1;            unsigned a4 : 1;            unsigned a5 : 1;            unsigned a6 : 1;            unsigned a7 : 1;           } byte;   } cod; cod.ss=ch; printf("Номер битов: 7 6 5 4 3 2 1 0\n"); printf("Значение битов: %d %d %d %d %d %d %d %d\n",           cod.byte.a7, cod.byte.a6, cod.byte.a5, cod.byte.a4,     cod.byte.a3, cod.byte.a2, cod.byte.a1, cod.byte.a0);}

Результат выполнения программы:

Первый вариант

m=1                               n=3                               cod=49                            Номер битов: 7 6 5 4 3 2 1 0Значение битов: 0 0 1 1 0 0 0 1

Второй вариант

m=0                               n=1                               cod=16                            Номер битов: 7 6 5 4 3 2 1 0Значение битов: 0 0 0 1 0 0 0 0

Задания для выполнения

  1. Разработайте структуру, используя объединение: Сотрудник (ФИО, пол, образование, специальность, вуз, должность, стаж). Сотрудник может не иметь высшего образования. Введите информацию о трех сотрудниках и распечатайте в виде таблицы.
  2. Опишите переменную структуру для моделирования, предложенного понятия. Координаты точки (пара вещественных или комплексных чисел). Определите расстояние между двумя введенными точками. Описать переменную "круг", в которой содержатся все данные для построения круга на плоскости в декартовой системе координат. Определить площадь круга и длину окружности, ограничивающей круг.
  3. Разработайте структуру, используя битовые поля для обозначения логических (битовых) значений. Структура Магазин: Наименование товара, Цена, Страна производства, Наличие в магазине, Соответствие стандарту РФ, Является товаром месяца. Объявите и заполните массив из пяти структур. Распечатайте информацию обо всех введенных товарах. Распечатайте информацию об имеющихся в магазине товарах, не соответствующих стандарту РФ.
  4. Используя объединение с битовыми полями, определите четность беззнакового целого числа по анализу старшего бита (операцию деления с остатком не использовать).

5. Индивидуальные задания.  

1.

Составить программу на структуры. Поля структуры: Шифр, автор, наименование книги, количество страниц, год издания, издательство. Определить автора, книга которого имеет наибольшее количество страниц.
Составить программу на структуры. Поля структуры: Фамилия; Амплуа; Возраст; Количество игр; Количество голов. Определить лучшего форварда, и вывести сведения о футболистах, сыгравших менее 5-ти игр.
Описать структуру с именем GROUP, содержащую поля: Name – фамилия и инициалы, DAT – дата рождения (год, месяц, число), SES – успеваемость (массив из трех элементов). Написать программу, выполняющую: · ввод с клавиатуры данных в массив GR5,состоящий из 10 структур типа GROUP; · вывод на экран записей, упорядоченных по возрастанию поля SES; · вывод списка студентов, возраст которых на 01.12.2010 года не превышает 20 лет; · если таких студентов нет – выдать сообщение.

2.

Составить программу на структуры. Поля структуры: Фамилия, Имя, Отчество, дата рождения, пол, место рождения, рост, вес. Определить самого тяжелого человека.
Составить программу на структуры. Поля структуры: Фамилия, Группа, Физика, Информ, История. Определить средний бал оценок по всем предметам, и вывести сведения о студентах, средний балл которых больше 4.
Описать структуру с именем STUDENT, содержащую поля: Name – фамилия и инициалы, Kurs − курс, SES – успеваемость (массив из пяти элементов). Написать программу, выполняющую: · ввод с клавиатуры данных в массив STUD,состоящий из 10 структур типа STUDENT, записи должны быть упорядочены по алфавиту; · вывод на экран записей, упорядоченного списка студентов, средний бал которых превышает общий средний бал; · если таких студентов нет – выдать сообщение.

3.

Составить программу на структуры. Поля структуры: наименование детали, масса, габаритные размеры, материал, количество на складе. Определить самую маленькую деталь.
Составить программу на структуры. Поля структуры: Продавец, Наименование, Количество, Цена, Дата_продажи. Определить количество товаров, которые проданы менее года назад и вывести сведения о них.
Описать структуру с именем STUD, содержащую поля: Name – фамилия и инициалы, GROUP – название группы (факультет, курс, номер группы), SES – успеваемость (массив из четырёх элементов). Написать программу, выполняющую: · ввод с клавиатуры данных в массив STUD1,состоящий из 10 структур типа STUD, записи должны быть упорядочены по алфавиту; · вывод на экран данных о студентах, включенных в массив, средний бал которых превышает 4,2. Список упорядочить по возрастанию среднего бала. Сохранить информацию о положении студента в исходном списке; · если таких студентов нет – выдать сообщение.

4.

Составить программу на структуры. Поля структуры: сформируйте сами – это сведения о месте жительстве человека.
Составить программу на структуры. Поля структуры: Наименование, Количество, Цена, Изготовитель, Дата_поступления_на_склад. Определить количество всех товаров, количество которых больше 5 и вывести сведения об этих товарах.
Описать структуру с именем NOTE, содержащую поля: Name – фамилия и инициалы, TELE – номер телефона, DATE – дата рождения (год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив BLOCKNOTE,состоящий из 10 структур типа NOTE, записи должны быть упорядочены по возрастанию даты рождения; · вывод на экран сведений о человеке, номер телефона которого введен с клавиатуры; · если такого человека нет – выдать сообщение.

5.

Составить программу на структуры. Поля структуры: Дата, Телефон, Число, Месяц, Год, Номер заказа, Вызываемый телефон, Телефон заказчика, Вызываемый город. Определить и вывести номера заказов, которые были осуществлены менее года назад.
Составить программу на структуры. Поля структуры: Наименование, Изготовитель, Год_выпуска, Количество, Цена. Определить общую стоимость всех товаров, выпущенных в текущем году и вывести сведения об этих товарах.
Описать структуру с именем NOTE1, содержащую поля: Name – фамилия и инициалы, TELE – номер телефона, DATE – дата рождения (год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив BLOCK,состоящий из 9 элементов типа NOTE1, записи должны быть упорядочены по инициалам; · вывод на экран информации о людях, чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры; · если такого человека нет – выдать сообщение.

6.

Составить программу на структуры. Поля структуры: No п/п, Наименование товара, Количество, шт., Стоимость, руб. за штуку. Определить самый дешевый товар.
Составить программу на структуры. Поля структуры: Наименование, Количество, Цена, Изготовитель, Дата_выпуска. Вывести на экран наименование товара с максимальной общей стоимостью.
Описать структуру с именем NOTE2, содержащую поля: Name – фамилия и инициалы, TELE – номер телефона, DATE – дата рождения (год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив BLOCK2, состоящий из 7 элементов типа NOTE1, записи должны быть упорядочены по первым трем цифрам номера телефона; · вывод на экран информации о человеке, чья фамилия введена с клавиатуры; · если такого нет – выдать сообщение.

7.

Составить программу на структуры. Поля структуры: Фамилия, Имя, Отчество, Профессия, Разряд, Стаж. Определите и выведите людей, имеющих самый большой стаж.
Составить программу на структуры. Поля структуры: Фамилия, Группа, Физика, Информ, История. Определить средний бал оценок по физике, количество студентов с оценкой 5 по информатике и вывести сведения о них.
Описать структуру с именем PERSON, содержащую поля: Name – фамилия и инициалы, FAC – факультет, GROUP – группа, DATE – дата поступления в ВУЗ (год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив VUZ, состоящий из 10 элементов типа PERSON, записи должны быть упорядочены по дате поступления в ВУЗ; · вывод на экран информации о студентах, упорядоченной по факультетам, группам, дате поступления. В каждой группе фамилии должны быть расположены в алфавитном порядке.

8.

Составить программу на структуры. Поля структуры: Фамилия, Имя, Отчество спортсмена, время на 100 м, время на 1 км, прыжок в высоту, прыжок в длину. Определить спортсменов, лучших прыгунов в высоту и бегунов на 100 метров одновременно.
Составить программу на структуры. Поля структуры: Продавец, Наименование, Количество, Цена, Дата_продажи. Определить количество товаров, проданных продавцом «Иванов», вывести сведения о них и определить товар с максимальной стоимостью.
Описать структуру с именем ZNAK, содержащую поля: Name – фамилия и имя, ZOD – знак зодиака, DATE – дата рождения (массив из трех чисел: год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив MASS, состоящий из 10 элементов типа ZNAK, записи должны быть упорядочены по дате дня рождения; · вывод на экран информации о людях, родившихся под знаком зодиака, наименование которых вводится с клавиатуры; · если такого нет – выдать сообщение.

9.

Составить программу на структуры. Поля структуры: Фамилия, Имя, Отчество, оценки по пяти экзаменам. Определить и вывести средний бал оценок по математике, количество студентов с оценкой 4 по информатике.
Составить программу на структуры. Поля структуры: Наименование, Количество, Цена, Производитель, Дата_поступления_на_склад… Вывести сведения о товарах с ценой выше средней.
Структура содержит информацию о дате и времени некоторого события: struct datetime { unsigned short Year; // год unsigned short Month; // месяц unsigned short Day; // день unsigned short Hour; // часы unsigned short Minute; // минуты unsigned short Second; // секунды }; Написать программу, выполняющую: · определение размера структурированного объекта в батах. · записывает предложенную структуру в виде битовой структуры и определяет размеры. Сравните результаты, сделайте вывод.

10.

Составить программу на структуры. Поля структуры: наименование детали, масса, габаритные размеры, материал, количество на складе. Определить самую тяжелую деталь.
Составить программу на структуры. Поля структуры: Автор, Количество страниц, Тираж, Год издания. Вывести данные о книгах, в которых количество страниц больше 150.
Для хранения данных о цветных дисплеях описать структуру вида: struct display {char mode[25]; // наименование модели int price; // цена double x_size; // размер по горизонтали double y_size; // размер по вертикали int optr;}; // оптическое разрешение   Написать функцию, создающую файл с данными о дисплеях (данные вводить с клавиатуры) из не менее восьми записей, осуществляющую его сортировку по заданному параметру (обязательный параметр – признак, задающий критерий сортировки). Все необходимые данные для функции должны передаваться ей в качестве параметров. Использование глобальных параметров не допускается.  

11.

Составить программу на структуры. Поля структуры: название растения, класс, вид, возраст, требования по уходу. Вывести все растения, возраст которых превышает 4 года.
Составить программу на структуры. Поля структуры: Автор, Жанр, Название, Тираж. Вывести данные о книгах, тираж которых не превышает 10000 экземпляров.
Описать структуру с именем STUDENT, содержащую поля: · фамилия и инициалы студента; · номер группы; · успеваемость (массив из четырех оценок на экзаменах в 5-бальной системе). Написать функции: · создания массива 7 записей (структур) данных о студентах (ввод данных с клавиатуры); · вычисления среднего бала каждого студента; · расположения записей по убыванию среднего бала; · вывода сведений о студентах, имеющих оценки только 4 и 5; · удаления из списка студента с минимальным средним балом. Все необходимые данные для функций должны передаваться в качестве их параметров. Использование глобальных параметров не допускается. Создать проект, который демонстрирует работу всех функций.

12.

Составить программу на структуры. Поля структуры: сформируйте сами – это сведения о составе вашей семьи и возрасте ее членов. Определите самого старшего члена вашей семьи.
Составить программу на структуры. Поля структуры: Фамилия, Возраст, Образование, Должность. Вывести данные о работниках старших 30-ти лет, не имеющих высшего образования.
Описать структуру с именем TOVAR, содержащую поля: · название товара; · количество единиц товара; · стоимость товара; · дата · поступления товара в виде структуры (год, месяц, день). Написать функции: · создания массива SPISOK не более чем из 10 записей (структур) данных о товарах (ввод данных с клавиатуры); · вычисления средней стоимости товара; · расположения записей по возрастанию стоимости товаров; · вывода сведений о товарах, поступивших более 10 месяцев назад. Все необходимые данные для функций должны передаваться в качестве их параметров. Использование глобальных параметров не допускается. Создать проект, который демонстрирует работу всех функций.

13.

Составить программу на структуры. Поля структуры: Наименование, количество, стоимость, срок хранения молочного продукта. Определите продукт с минимальным сроком хранения.
Составить программу на структуры. Поля структуры: Фамилия, Возраст, Количество игр, Количество пропущенных шайб. Определить средний возраст хоккеистов и вывести сведения о хоккеистах, возраст которых больше 25 лет.
Описать структуру с именем MARSHRUT, содержащую поля: · номер маршрута; · начальный пункт маршрута; · конечный пункт · маршрута; · длина маршрута. Написать функции: · создания массива не более чем из 10 записей (структур) сведений о маршрутах (ввод данных с клавиатуры); · определения маршрута с максимальной длиной; · расположения записей по возрастанию номеров маршрутов; · вывода сведений о маршрутах, которые начинаются или заканчиваются в пункте, название которого вводится с клавиатуры. Все необходимые данные для функций должны передаваться в качестве их параметров. Использование глобальных параметров не допускается. Создать проект, который демонстрирует работу всех функций.

14.

Составить программу на структуры. Поля структуры: характеристики процессора компьютера, выделить самостоятельно.
Составить программу на структуры. Поля структуры: Исполнитель, Жанр, Название альбома, Тираж. Вывести данные о пластинках, тираж которых превышает 10000 экземпляров.
Описать структуру с именем ABON, содержащую поля: · фамилия и инициалы абонента; · номер телефона; · дата подключения телефона в виде структуры (год, месяц, день); · начисленная сумма оплаты; · сумма на счету абонента. Написать функции: · создания массива не более чем из 12 записей (структур) данных об абонентах (ввод данных с клавиатуры); · расположения записей по алфавиту (с учетом инициалов для абонентов с одинаковыми фамилиями; · добавить 200 р. на счета абонентов, которых подключили более 10 лет назад; · вывода сведений об абонентах, у которых сумма на счету отрицательная после вычета начислений; · вывода сведений об абоненте, номер телефона которого вводится с клавиатуры. Все необходимые данные для функций должны передаваться в качестве их параметров. Использование глобальных параметров не допускается. Создать проект, который демонстрирует работу всех функций.

15.

Составить программу на структуры. Поля структуры: марка автомобиля, госномер, номер двигателя, номер шасси, цвет, год производства. Определить автомобили изготовленные в текущем году.
Составить программу на структуры. Поля структуры: Производитель, Объем оперативной памяти, Дата изготовления, Цена. Определить компьютер, изготовленный фирмой AMD с минимальной ценой и вывести все сведения о нем.
Описать структуру с именем GROUP, содержащую поля: Name – фамилия и инициалы, DAT – дата рождения (год, месяц, число), SES – успеваемость (массив из трех элементов). Написать программу, выполняющую: · ввод с клавиатуры данных в массив GR5,состоящий из 10 структур типа GROUP; · вывод на экран записей, упорядоченных по возрастанию поля SES; · вывод списка студентов, возраст которых на 01.12.2010 года не превышает 20 лет; если таких студентов нет – выдать сообщение.

16.

Составить программу на структуры. Поля структуры: наименование детали, вес, габаритные размеры, материал, количество на складе. Определить детали, количество которых максимально.
Составить программу на структуры. Поля структуры: Фамилия, Возраст, Количество игр, Количество заброшенных шайб. Определить средний возраст хоккеистов и вывести сведения о хоккеистах, возраст которых меньше 25 лет.
Описать структуру с именем STUDENT, содержащую поля: Name – фамилия и инициалы, Kurs − курс, SES – успеваемость (массив из пяти элементов). Написать программу, выполняющую: · ввод с клавиатуры данных в массив STUD,состоящий из 10 структур типа STUDENT, записи должны быть упорядочены по алфавиту; · вывод на экран записей, упорядоченного списка студентов, средний бал которых превышает общий средний бал; если таких студентов нет – выдать сообщение.

17.

Составить программу на структуры. Поля структуры: Наименование, количество, стоимость, срок хранения хлебобулочного изделия. Определите продукт с максимальным сроком хранения.
Составить программу на структуры. Поля структуры: Наименование, Производитель, Год_выпуска, Количество, Цена. Определить общую стоимость всех товаров, выпущенных в текущем году и вывести сведения об этих товарах.
Описать структуру с именем NOTE, содержащую поля: Name – фамилия и инициалы, TELE – номер телефона, DATE – дата рождения (год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив BLOCKNOTE,состоящий из 10 структур типа NOTE, записи должны быть упорядочены по возрастанию даты рождения; · вывод на экран сведений о человеке, номер телефона которого введен с клавиатуры; если такого человека нет – выдать сообщение.

18.

Составить программу на структуры. Поля структуры: Наименование, количество, стоимость, срок хранения колбасного изделия. Определите продукт с максимальным количеством.
Составить программу на структуры. Поля структуры: Наименование, Количество, Цена, Производитель, Дата_выпуска. Определить среднюю стоимость товаров и товар с минимальной стоимостью.
Описать структуру с именем STUD, содержащую поля: Name – фами- лия и инициалы, GROUP – название группы (факультет, курс, номер группы), SES – успеваемость (массив из четырёх элементов). Написать программу, выполняющую: · ввод с клавиатуры данных в массив STUD1,состоящий из 10 структур типа STUD, записи должны быть упорядочены по алфавиту; · вывод на экран данных о студентах, включенных в массив, средний бал которых превышает 4,2. Список упорядочить по возрастанию среднего бала. Сохранить информацию о положении студента в исходном списке; если таких студентов нет – выдать сообщение.

19.

Составить программу на структуры. Поля структуры: порода собаки, цвет, рост, возраст, кличка. Определить всех такс.
Составить программу на структуры. Поля структуры: Фамилия, Год рождения, Должность, Зарплата, Образование. Определить самого младшего работника и напечатать сведения о нем.
Описать структуру с именем NOTE2, содержащую поля: Name – фамилия и инициалы, TELE – номер телефона, DATE – дата рождения (год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив BLOCK2, состоящий из 7 элементов типа NOTE1, записи должны быть упорядочены по первым трем цифрам номера телефона; · вывод на экран информации о человеке, чья фамилия введена с клавиатуры; если такого нет – выдать сообщение.

20.

Составить программу на структуры. Поля структуры: порода собаки, цвет, рост, возраст, кличка. Определить всех пуделей, в возрасте 3 года.
Составить программу на структуры. Поля структуры: Фамилия, Группа, Год рождения, оценка по физике, оценка по математике, оценка по информатике. Напечатать фамилии студентов, которые сдали математику на «95», и определить их количество.
Описать структуру с именем PERSON, содержащую поля: Name – фамилия и инициалы, FAC – факультет, GROUP – группа, DATE – дата поступления в ВУЗ (год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив VUZ, состоящий из 10 элементов типа PERSON, записи должны быть упорядочены по дате поступления в ВУЗ; · вывод на экран информации о студентах, упорядоченной по факультетам, группам, дате поступления. В каждой группе фамилии должны быть расположены в алфавитном порядке.

21.

Составить программу на структуры. Поля структуры: содержимое вашего портфеля (сумочки) – определить самостоятельно.
Составить программу на структуры. Поля структуры: Количествo, Цена, Год изготовления, Производитель. Определить товар, количество которого больше всего на складе, и напечатать все сведения о нем.
Описать структуру с именем ZNAK, содержащую поля: Name – фамилия и имя, ZOD – знак зодиака, DATE – дата рождения (массив из трех чисел: год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив MASS, состоящий из 10 элементов типа ZNAK, записи должны быть упорядочены по дате дня рождения; · вывод на экран информации о людях, родившихся под знаком зодиака, наименование которых вводится с клавиатуры; если такого нет – выдать сообщение.

22.

Составить программу на структуры. Поля структуры: название водоема, глубина, площадь, наличие промысловой рыбы, соленость воды. Определить самые соленые водоемы.
Составить программу на структуры. Поля структуры: Название, Частота, Объем оперативной памяти Наличие DVD ROM, Стоимость. Определить количество компьютеров с объемом оперативной памяти больше 10 Гбайт и напечатать все сведения о них.
Описать структуру с именем STUDENT, содержащую поля: · фамилия и инициалы студента; · номер группы; · успеваемость (массив из четырех оценок на экзаменах в 5-бальной системе). Написать функции: · создания массива 7 записей (структур) данных о студентах (ввод данных с клавиатуры); · вычисления среднего бала каждого студента; · расположения записей по убыванию среднего бала; · вывода сведений о студентах, имеющих оценки только 4 и 5; · удаления из списка студента с минимальным средним балом. Все необходимые данные для функций должны передаваться в качестве их параметров. Использование глобальных параметров не допускается. Создать проект, который демонстрирует работу всех функций.

23.

Составить программу на структуры. Поля структуры: название водоема, глубина, площадь, наличие промысловой рыбы, соленость воды. Определить самый глубокий водоем.
Составить программу на структуры. Поля структуры: Фамилия, Группа, Год рождения, оценка по физике, оценка по математике, оценка по информатике. Определить количество студентов старше 19-ти лет, и напечатать все сведения о них.
Описать структуру с именем TOVAR, содержащую поля: · название товара; · количество единиц товара; · стоимость товара; · дата · поступления товара в виде структуры (год, месяц, день). Написать функции: · создания массива SPISOK не более чем из 10 записей (структур) данных о товарах (ввод данных с клавиатуры); · вычисления средней стоимости товара; · расположения записей по возрастанию стоимости товаров; · вывода сведений о товарах, поступивших более 10 месяцев назад. Все необходимые данные для функций должны передаваться в качестве их параметров. Использование глобальных параметров не допускается. Создать проект, который демонстрирует работу всех функций.

24.

Составить программу на структуры. Поля структуры: название электрического прибора, мощность, потребляемый ток, входное напряжение. Определить приборы с минимальным входным напряжением.
Составить программу на структуры. Поля структуры: Фамилия, Год рождения, Должность, Зарплата, Образование. Определить количество работников старше 60-ти лет, и напечатать все сведения о них.
Описать структуру с именем MARSHRUT, содержащую поля: · номер маршрута; · начальный пункт маршрута; · конечный пункт · маршрута; · длина маршрута. Написать функции: · создания массива не более чем из 10 записей (структур) сведений о маршрутах (ввод данных с клавиатуры); · определения маршрута с максимальной длиной; · расположения записей по возрастанию номеров маршрутов; · вывода сведений о маршрутах, которые начинаются или заканчиваются в пункте, название которого вводится с клавиатуры. Все необходимые данные для функций должны передаваться в качестве их параметров. Использование глобальных параметров не допускается. Создать проект, который демонстрирует работу всех функций.

25.

Составить программу на структуры. Поля структуры: название электрического прибора, мощность, потребляемый ток, входное напряжение. Определить приборы с максимальной мощностью.
Составить программу на структуры. Поля структуры: Фамилия, Год рождения, Должность, Зарплата Образование. Определить количество работников - инженеров и напечатать все сведения о них.
Описать структуру с именем ABON, содержащую поля: · фамилия и инициалы абонента; · номер телефона; · дата подключения телефона в виде структуры (год, месяц, день); · начисленная сумма оплаты; · сумма на счету абонента. Написать функции: · создания массива не более чем из 12 записей (структур) данных об абонентах (ввод данных с клавиатуры); · расположения записей по алфавиту (с учетом инициалов для абонентов с одинаковыми фамилиями; · добавить 200 р. на счета абонентов, которых подключили более 10 лет назад; · вывода сведений об абонентах, у которых сумма на счету отрицательная после вычета начислений; · вывода сведений об абоненте, номер телефона которого вводится с клавиатуры. Все необходимые данные для функций должны передаваться в качестве их параметров. Использование глобальных параметров не допускается. Создать проект, который демонстрирует работу всех функций.

26.

Составить программу на структуры. Поля структуры: Фамилия, Имя, Отчество спортсмена, время на 100 м, время на 1 км, прыжок в высоту, прыжок в длину. Определить спортсменов, лучших прыгунов в высоту или бегунов на 100 метров.
Составить программу на структуры. Поля структуры: Продавец, Наименование, Количество, Цена, Дата_продажи. Определить количество товаров, проданных продавцом «Петров», вывести сведения о них и определить товар с минимальной стоимостью.
Описать структуру с именем ZNAK, содержащую поля: Name – фамилия и имя, ZOD – знак зодиака, DATE – дата рождения (массив из трех чисел: год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив MASS, состоящий из 10 элементов типа ZNAK, записи должны быть упорядочены по дате дня рождения; · вывод на экран информации о людях, родившихся под знаком зодиака, наименование которых вводится с клавиатуры; · если такого нет – выдать сообщение.

27.

Составить программу на структуры. Поля структуры: порода собаки, цвет, рост, возраст, кличка. Определить всех ротвейлеров, в рыжего цвета.
Составить программу на структуры. Поля структуры: Фамилия, Группа, Год рождения, оценка по физике, оценка по математике, оценка по информатике. Напечатать фамилии студентов, которые сдали физику на «75», и определить их количество.
Описать структуру с именем PERSON, содержащую поля: Name – фамилия и инициалы, FAC – факультет, GROUP – группа, DATE – дата поступления в ВУЗ (год, месяц, число). Написать программу, выполняющую: · ввод с клавиатуры данных в массив VUZ, состоящий из 10 элементов типа PERSON, записи должны быть упорядочены по группе; · вывод на экран информации о студентах, упорядоченной по факультетам, группам, дате поступления. В каждой группе фамилии должны быть расположены в алфавитном порядке.

 


Дата добавления: 2021-07-19; просмотров: 645; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!