Методические указания по выполнению лабораторной работы




Лабораторная работа 10

25 апр. 16 г.

Работа со структурами

Постановка задачи

В настоящей лабораторной необходимо сформировать массив структур. Структуры вводятся с клавиатуры. В ряде вариантов заданий с клавиатуры вводится не вся структура, а только ее отдельные поля. Необходимо выполнить обработку сформированного массива структур и результаты обработки вывести на экран дисплея. В программе следует в максимальной степени использовать функции. Например, функции должны использоваться для ввода структур, обработки сформированного массива структур и вывода результатов обработки.

 

Варианты заданий

Варианты заданий приведены в табл. 10. 1

 

Таблица 1.10. 1

N Задание
  Массив должен содержать сведения о книгах. Каждая структура должна иметь следующие поля: автор (авторы), название, год издания, цена и издательство. Вывести на экран дисплея список книг, изданных в заданном временном интервале (например, в интервале 1993..2000).
  Массив должен содержать сведения об успеваемости студентов факультета. Каждая структура должна содержать следующие поля: шифр группы (например, СП-91), фамилия, имя и отчество (например, Иванов Петр Андреевич), оценки за последнюю сессию (например: 3, 5, 4, 4), средний балл. С клавиатуры вводятся только первые три поля. Вывести на экран сведения о конкретной группе (например, о группе СП-71).
  Массив должен содержать сведения о поездах. Каждая структура должна содержать следующие поля: номер поезда, станция назначения, время в пути и цена билета. Вывести на экран дисплея сведения обо всех поездах, находящихся в пути более “k” часов и цена билета которых не превосходит “m” рублей.
  Массив должен содержать сведения о товарах, хранящихся в некотором магазине. Каждая структура должна содержать следующие поля: наименование товара, дата поступления и цена. Выполнить обработку массива структур, уменьшив цену товара, хранящегося более “k” месяцев на “m%” (например, на 30%). Полученный массив вывести на экран дисплея.
  Массив должен содержать сведения о книгах. Каждая структура должна иметь следующие поля: автор (авторы), название, год издания, цена, тираж. Вывести на экран дисплея сведения о книгах, имеющих тираж более определенной величины (например, более 5000 экз.) и стоимость которых не превосходит определенной величины (например, 50 руб.).

Продолжение табл. 1.10. 1

 

N Задание
  Массив должен содержать сведения о сотрудниках кафедры. Каждая структура должна содержать следующие поля: фамилия, имя и отчество, должность, оклад, год окончания контракта. Вывести на экран сведения о сотрудниках, занимающих определенную должность (например, доцента), контракт с которыми заканчиваются в заданном году.
  Массив должен содержать сведения о городах. Каждая структура должна содержать следующие поля: названия города, количество жителей, год основания, количество музеев. Вывести на экран сведения о городах, в которых проживает более “m” жителей и проживает более “n” жителей.
  Массив должен содержать сведения о странах. Каждая структура должна содержать следующие поля: название страны, название столицы, количество жителей, средняя продолжительность жизни. Вывести на экран сведения о странах, в которых проживает не более “n” жителей и средняя продолжительность жизни, в которых не превосходит “m” лет.
  Массив должен содержать сведения о продаже книг некоторым магазином. Каждая структура должна содержать следующие поля: автор (авторы), название, год издания, затраты на покупку книги магазином, количество закупленных книг, цена при продаже. Вычислить прибыль от продажи книги каждого названия. Вывести на экран сведения о книгах, продажа которых не принесла прибыли.
  Массив содержит сведения о зарплате сотрудников некоторой фирмы. Каждая структура должна содержать следующие поля: фамилия, имя и отчество, должность, год рождения, массив из 12 элементов с месячной зарплатой, среднемесячная зарплата. С клавиатуры вводятся первые четыре поля. Вывести сведения о сотрудниках моложе “k” и средняя зарплата которых не превосходит “n” рублей.
  Массив сведений о погоде за 30 последних дней. Каждая структура должна содержать следующие поля: среднее давление, среднюю скорость ветра, основное направление ветра, состояние облачного покрова (ясный, туманный, хмурый и др.). Вывести сведения о погоде для заданного состояния облачного покрова.
  Массив должен содержать сведения о сотрудниках кафедры. Каждая структура должна содержать следующие поля: фамилия, имя и отчество, должность, год поступления на работу. Вывести на экран сведения о сотрудниках, работающие на кафедре не менее “k” лет.
  Массив структур, содержащие сведения о запасах некоторых товаров. Каждая структура должна содержать следующие поля: наименование товара, норматив на величину запаса (целое число в диапазоне до 5000), единица измерения (тонна, центнер, литр, упаковка и др.), текущее значение запаса. Вывести на экран сведения о товарах, запасы которых меньше норматива.

 

Продолжение табл. 10. 1

N Задание
  Массив структур, содержащих сведения о прибытии поездов на некоторый вокзал. Каждая структура должна содержать следующие поля: станция назначения, номер поезда, время прибытия в форме ЧЧ (часы) ММ (минуты), номер платформы. Вывести на экран сведения о поездах, прибывающих на платформу с номером “n” в заданном интервале времени (например, от 12 до 18 часов).
  Массив структур о кафедрах некоторого вуза. Каждая структура должна содержать следующие поля: название кафедры, фамилия, имя и отчество заведующего кафедрой, количество преподавателей, количество потоков, в которых проводит занятия кафедра в текущем семестре. Вывести на экран сведения о кафедрах, штатный состав которых превосходит “k” единиц.
  Массив структур, содержащих сведения о поездах, которые отправляются с некоторого вокзала. Каждая структура должна содержать следующие поля: станция назначения, номер поезда, время отправления в форме ЧЧ (часы) ММ (минуты), время в пути, номер платформы. Вывести на экран сведения о поездах, находящихся в пути более “k” часов.
  Массив структур, содержащих сведения о фильмах. Каждая структура должна содержать следующие поля: режиссер, название, страна, жанр, год создания. Вывести на экран сведения о фильмах определенного жанра, созданных в некоторой стране.
  Массив структур, содержащих сведения о футбольных командах. Каждая структура должна содержать следующие поля: название команды, тренер, место, занятое командой в чемпионате в прошлом году, место, занимаемое командой в чемпионате в настоящем году. Вывести на экран сведения о командах, которые занимают место в текущем чемпионате не меньшее, чем в чемпионате прошлого года.
  Массив структур, содержащих сведения о вузах. Каждая структура должна содержать следующие поля: название вуза, адрес, количество факультетов, наличие военной кафедры, число обучающихся студентов. Вывести на экран дисплея сведения о вузах, в которых обучается более “n” студентов.
  Массив структур, содержащих сведения о музеях. Каждая структура должна содержать следующие поля: название музея, адрес, год основания, цена входного билета. Вывести на экран дисплея сведения о музеях, действующие более “k” лет.
  Массив сведений о кинотеатрах. Каждая структура должна содержать следующие поля: название, адрес, категория кинотеатра, количество мест. Вывести на экран дисплея сведения о кинотеатрах, количество мест в которых превосходит “k”.
  Массив сведений о подпрограммах. Каждая структура должна содержать следующие поля: имя подпрограммы, язык программирования, вид подпрограммы (функция, процедура), назначение. Вывести на экран дисплея о функциях, у которых количество параметров не превосходит “k”.

Окончание табл. 10. 1

N Задание
  Массив сведений о продаже товаров. Каждая структура должна содержать следующие поля: код товара (строка, длина которой не превосходит 10), год продаж, выручка за проданный товар. Вывести на экран дисплея сведения о товарах, выручка за которые превосходит “s” руб.
  Массив сведений о фильмах, которые показывают в кинотеатрах города. Каждая структура должна содержать следующие поля: название кинотеатра, название фильма, список сеансов. Вывести на экран дисплея сведения о кинотеатрах, в которых показывают некоторый фильм.

Методические указания по выполнению лабораторной работы

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

1. Рекомендуется следующая структура программы:

- функция main(),

- функция для ввода массива структур,

- функция для обработки массива структур,

- функция для вывода на экран результатов вычислений.

2. Функция main() должна содержать:

- ввод количества структур “n”,

- вызовы трех других функций (ввода массива структур, обработки и вывода результатов вычислений),

 

1.10.4. Контрольные вопросы

1. Какие структурные данные в языке Си называются структурами?

2. Каким образом в языке Си можно объявить тип данных, относящихся к структурам?

3. Каким образом можно объявить переменную, имеющую тип структуры?

4. Каким образом можно инициализировать структуру во время ее определения?

5. Каким образом можно обратиться к отдельным полям записи?

6. Какие операции можно применить к переменной, имеющей тип структуры?

7. Можно ли вернуть структуру в качестве значения функции?

8. Каким образом можно организовать ввод – вывод структур?

9. Каким образом объявляются и используются массивы структур?

10. Каким образом можно обратиться к отдельным полям элемента массива, содержащего структуры?

11. Какие возможности существуют в языке Си по работе со структурами при использовании функций? Можно ли использовать структуры в качестве параметров в функциях? Можно ли в функцию передавать массив структур?

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: