Доступ к элементам структур с битовыми полями
Для обращения к битовым полям используются те же конструкции, что и для обращения к обычным элементам структур:
ИмяСтруктуры.ИмяПоля(* УказательНаСтруктуру). ИмяПоляУказательНаСтруктуру -> ИмяПоляНапример, для структуры 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.
|
|
Результат выполнения программы:
|
|
Первый вариант
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
Задания для выполнения
- Разработайте структуру, используя объединение: Сотрудник (ФИО, пол, образование, специальность, вуз, должность, стаж). Сотрудник может не иметь высшего образования. Введите информацию о трех сотрудниках и распечатайте в виде таблицы.
- Опишите переменную структуру для моделирования, предложенного понятия. Координаты точки (пара вещественных или комплексных чисел). Определите расстояние между двумя введенными точками. Описать переменную "круг", в которой содержатся все данные для построения круга на плоскости в декартовой системе координат. Определить площадь круга и длину окружности, ограничивающей круг.
- Разработайте структуру, используя битовые поля для обозначения логических (битовых) значений. Структура Магазин: Наименование товара, Цена, Страна производства, Наличие в магазине, Соответствие стандарту РФ, Является товаром месяца. Объявите и заполните массив из пяти структур. Распечатайте информацию обо всех введенных товарах. Распечатайте информацию об имеющихся в магазине товарах, не соответствующих стандарту РФ.
- Используя объединение с битовыми полями, определите четность беззнакового целого числа по анализу старшего бита (операцию деления с остатком не использовать).
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!