
- •6.1. Побитовая обработка данных
- •6.1.1. ***Вывести на экран битовое представление чисел, заданных в условии
- •6.2. Структуры
- •6.2.1. ***Выполнить задание с использованием функций и массива структур
- •6.3. Файлы
- •6.3.1. ***Выполнить задание с использованием функций и файлов
- •6.3.2. **Выполнить задание с использованием функций и файлов
- •6.3.3. **Выполнить задание с использованием функций, структур и бинарных файлов
- •1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:
- •1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:
- •1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:
- •1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:
- •1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:
- •1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:
- •1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:
- •1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:
- •1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •1. Описать структуру с именем notebook, содержащую следующие данные о ноутбуках (при необходимости дополнив ее):
- •6.3.4. *Выполнить задание, используя текстовые файлы
Лаб.6. Структуры. Файлы
6.1. Побитовая обработка данных 1
6.1.1. ***Вывести на экран битовое представление чисел, заданных в условии 1
6.2. Структуры 3
6.2.1. ***Выполнить задание с использованием функций и массива структур 3
6.3. Файлы 8
6.3.1. ***Выполнить задание с использованием функций и файлов 8
6.3.2. **Выполнить задание с использованием функций и файлов 13
6.3.3. **Выполнить задание с использованием функций, структур и бинарных файлов 15
6.3.4. *Выполнить задание, используя текстовые файлы 35
6.1. Побитовая обработка данных
6.1.1. ***Вывести на экран битовое представление чисел, заданных в условии
Вывести на экран битовое представление указанного числа и уметь объяснить его. Выполнить задание двумя способами: через объединение (вещественного типа и символьного массива) и через структуру с битовыми полями (b0,…,b7). Сравнить результаты. В обязательном порядке использовать функцию, которой в качестве аргумента передается отдельный байт поля cod.c объединения.
Организовать интерфейс в виде меню (на основе листинга программы 7.17 из методических материалов).
Вариант 1.
число: 111.2; float, unsigned long;
Вариант 2.
число: 131.3; double, unsigned int;
Вариант 3.
число: 534.7; double, signed int;
Вариант 4.
число: 230.6; unsigned long, float;
Вариант 5.
число: 222.2; float, unsigned;
Вариант 6.
число: 345.7; unsigned long, double;
Вариант 7.
число: 178.5; float, unsigned long;
Вариант 8.
число: 555.7; double, unsigned;
Вариант 9.
число: 777.1; double, long;
Вариант 10.
число: 432.4; double, unsigned;
Вариант 11.
число: 124.7; signed long, float;
Вариант 12.
число: 657.7; double, signed long;
Вариант 13.
число: 342.9; long, float;
Вариант 14.
число: 876.6; signed long, double;
Вариант 15.
число: 234.8; unsigned long, double;
Вариант 16.
число: 349.9; double, signed int;
Вариант 17.
число: 785.7; signed char, float;
Вариант 18.
число: 111.7; unsigned char, double;
Вариант 19.
число: 222.9; signed int, double;
Вариант 20.
число: 444.4; unsigned, float;
6.2. Структуры
6.2.1. ***Выполнить задание с использованием функций и массива структур
Все необходимые для функций данные должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается. Поместить описание структуры в заголовочном файле, а определения функций и главную функцию программы – в двух отдельных файлах. Организовать интерфейс в виде меню (на основе листинга 7.17 программы из методических материалов). Выполнить перегрузку операторов ввода/вывода структурной переменной внешними функциями.
Сортировку массива структур выполнять:
Варианты * *– с использованием стандартной функции qsort ();
Вариант * – с использованием собственной функции сортировки.
Вариант 1.
1. Описать структуру с именем AEROFLOT, содержащую следующие поля:
название пункта назначения рейса;
номер рейса;
тип самолета.
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из семи структур типа AEROFLOT;
упорядочение записей по возрастанию номера рейса;
вывод на экран номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры;
если таких рейсов нет, вывести соответствующее сообщение.
Вариант 2.
1. Описать структуру с именем AEROFLOT, содержащую следующие поля:
название пункта назначения рейса;
номер рейса;
тип самолета.
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из семи структур типа AEROFLOT;
упорядочение записей по названиям пунктов назначения;
вывод на экран пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры;
если таких рейсов нет, вывести соответствующее сообщение.
Вариант 3.
1. Описать структуру с именем WORKER, содержащую следующие поля:
фамилия и инициалы работника;
название занимаемой должности;
год поступления на работу.
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER;
упорядочение записей по алфавиту;
вывод на экран фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
если таких работников нет, вывести соответствующее сообщение.
Вариант 4.
1. Описать структуру с именем TRAIN, содержащую следующие поля:
название пункта назначения;
номер поезда;
время отправления.
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа TRAIN;
упорядочение записей в алфавитном порядке по названиям пунктов назначения;
вывод на экран информации о поездах, отправляющихся после введенного с клавиатуры времени;
если таких поездов нет, вывести соответствующее сообщение.
Вариант 5.
1. Описать структуру с именем TRAIN, содержащую следующие поля:
название пункта назначения;
номер поезда;
время отправления.
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из шести структур типа TRAIN;
упорядочение записей по времени отправления поезда;
вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры;
если таких поездов нет, вывести соответствующее сообщение.
Вариант 6.
1. Описать структуру с именем TRAIN, содержащую следующие поля:
название пункта назначения;
номер поезда;
время отправления.
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа TRAIN;
упорядочение записей по номерам поездов;
вывод на экран информации о поезде, номер которого введен с клавиатуры;
если таких поездов нет, вывести соответствующее сообщение.
Вариант 7.
1. Описать структуру с именем MARSH, содержащую следующие поля:
название начального пункта маршрута;
название конечного пункта маршрута;
номер маршрута.
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа MARSH;
упорядочение записей по номерам маршрутов;
вывод на экран информации о маршруте, номер которого введен с клавиатуры;
если таких маршрутов нет, вывести соответствующее сообщение.
Вариант 8.
1. Описать структуру с именем MARSH, содержащую следующие поля:
название начального пункта маршрута;
название конечного пункта маршрута;
номер маршрута.
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа MARSH;
упорядочение записей по номерам маршрутов;
вывод на экран информации о маршрутах, которые начинаются или кончаются в пункте, название которого введено с клавиатуры;
если таких маршрутов нет, вывести соответствующее сообщение.
Вариант 9.
1. Описать структуру с именем NOTE, содержащую следующие поля:
фамилия, имя;
номер телефона;
день рождения (массив из трех чисел).
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа NOTE;
упорядочение записей по датам дней рождения;
вывод на экран информации о человека, номер телефона которого введен с клавиатуры;
если такого нет, вывести соответствующее сообщение.
Вариант 10.
1. Описать структуру с именем NOTE, содержащую следующие поля:
фамилия, имя;
номер телефона;
день рождения (массив из трех чисел).
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа NOTE;
упорядочение записей по алфавиту;
вывод на экран информации о людях, чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры;
если таких нет, вывести соответствующее сообщение.
Вариант 11.
1. Описать структуру с именем NOTE, содержащую следующие поля:
фамилия, имя;
номер телефона;
день рождения (массив из трех чисел).
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа NOTE;
упорядочение записей по трем первым цифрам номера телефона;
вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
если такого нет, вывести соответствующее сообщение.
Вариант 12.
1. Описать структуру с именем ZNAK, содержащую следующие поля:
фамилия, имя;
знак Зодиака;
день рождения (массив из трех чисел).
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа ZNAK;
упорядочение записей по датам дней рождения;
вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
если такого нет, вывести соответствующее сообщение.
Вариант 13.
1. Описать структуру с именем ZNAK, содержащую следующие поля:
фамилия, имя;
знак Зодиака;
день рождения (массив из трех чисел).
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа ZNAK;
упорядочение записей по датам дней рождения;
вывод на экран информации о людях, родившихся под знаком, наименование которого введено с клавиатуры;
если таких нет, вывести соответствующее сообщение.
Вариант 14.
1. Описать структуру с именем ZNAK, содержащую следующие поля:
фамилия, имя;
знак Зодиака;
день рождения (массив из трех чисел).
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми структур типа ZNAK;
упорядочение записей по знакам Зодиака;
вывод на экран информации о людях, родившихся в месяц, значение которого введено с клавиатуры;
если таких нет, вывести соответствующее сообщение.
Вариант 15.
1. Описать структуру с именем PRICE, содержащую следующие поля:
название товара;
название магазина, в котором продается товар;
стоимость товара в рублях.
2. Написать программу, выполняющую следующие действия:
ввод данных с клавиатуры в массив, состоящий из восьми структур типа PRICE;
упорядочение записей в алфавитном порядке по названиям товара;
вывод на экран информации о товаре, название которого введено с клавиатуры;
если таких товаров нет, вывести соответствующее сообщение.
Вариант 16.
1. Описать структуру с именем PRICE, содержащую следующие поля:
название товара;
название магазина, в котором продается товар;
стоимость товара в рублях.
2. Написать программу, выполняющую следующие действия:
ввод данных с клавиатуры в массив, состоящий из восьми структур типа PRICE;
упорядочение записей в алфавитном порядке по названиям магазинов;
вывод на экран информации о товарах, продающихся в магазине, название которого введено с клавиатуры;
если такого магазина нет, вывести соответствующее сообщение.
Вариант 17.
1. Описать структуру с именем ORDER, содержащую следующие поля:
расчетный счет плательщика;
расчетный счет получателя;
перечисляемая сумма в рублях.
2. Написать программу, выполняющую следующие действия:
ввод данных с клавиатуры в массив, состоящий из восьми структур типа ORDER;
упорядочение записей в алфавитном порядке по расчетным счетам плательщиков;
вывод на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры;
если такого расчетного счета нет, вывести соответствующее сообщение.