Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_6_задания.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
217.6 Кб
Скачать

Лаб.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;

  • упорядочение записей в алфавитном порядке по расчетным счетам плательщиков;

  • вывод на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры;

  • если такого расчетного счета нет, вывести соответствующее сообщение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]