Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задачник_Главы 7-9.doc
Скачиваний:
7
Добавлен:
15.08.2019
Размер:
2.6 Mб
Скачать

7.2 Массивы структур

  1. Описать массив структур и поместить в него сведения о нескольких книгах. Предусмотреть возможность выдачи наименований книги по фамилии автора.

  2. Организовать массив структур, содержащий информацию о фамилии, имени, отчестве и номере телефона пяти ваших товарищей, определив его по первым 2–3 цифрам телефона.

  3. Организовать массив структур, содержащий информацию о результатах сдачи последней сессии вашими товарищами. Определить и дополнить данные средним баллом.

  4. Описать массив структур, содержащий анкетные данные (год, месяц и день рождения; пол; место рождения; национальность) нескольких человек. Ввести данные и результат отпечатать. Предусмотреть возможность выдачи данных по введенной фамилии.

  5. Описать массив структур, который содержит информацию о нескольких деталях (наименование, масса, габаритные размеры: длина, ширина, высота, материал). Определить массу всех деталей.

  6. Описать массив структур, содержащий информацию об итогах сдачи вами экзаменационных сессий в институте. Определить средний балл.

  7. Организовать массив структур, содержащий информацию о месте жительства нескольких ваших товарищей. Предусмотреть возможность выдачи адреса по введенной фамилии.

  8. Описать массив структур и поместить в него сведения о месте работы и занимаемой должности ваших родителей. Организовать выдачу данных об одном из родителей.

  9. Описать массив структур и поместить в него следующие анкетные данные: фамилию, имя, отчество, пол, адрес (город, улица, номер дома, номер квартиры) нескольких жильцов. Предусмотреть возможность выдачи сведений о жильце по введенному адресу.

  10. Описать массив структур, содержащий информацию о нескольких деталях: наименование, материал, габариты (длина, высота, ширина), масса. Определить среднюю массу детали.

  11. Ведомость сдачи экзамена содержит следующие графы: номер по порядку, фамилия студента, номер зачетной книжки, оценка (Неуд., Удовл., Хор., Отл.). Описать и заполнить структуру для студентов группы. Подсчитать процент успеваемости.

  12. Описать структуру приведенной ниже таблицы, заполненной данными для нескольких человек.

Номер цеха

Ф. И. О.

Сведения о рабочих

Профессия

Разряд

Стаж

Предусмотреть возможность выдачи данных по введенной фамилии.

  1. Имеется документ в виде справки для 10 человек. Описать его в виде структуры по следующей форме:

Сотрудник

Должность

Месячный оклад

Фамилия

Табельный номер

Предусмотреть возможность выдачи данных по введенной фамилии.

  1. Сводка выполнения плана содержит сведения: наименование изделия, шифр, единица измерения, план выпуска, фактически выпущено, отклонение от плана (перевыполнение, недовыполнение). Описать и заполнить структуру для пяти позиций сводки. Предусмотреть возможность выдачи данных по введенному наименованию изделия.

  2. Описать и заполнить структуру для сводки о выполнении плана выпуска продукции для нескольких наименований по следующей форме:

п/п

Наименование

Единица измерения

Шифр

План выпуска

Всего

по кварталам

I

II

III

IV

Предусмотреть возможность выдачи данных по введенному наименованию изделия.

  1. Описать и заполнить структуру для описания следующего документа:

Инвентарная ведомость

п/п

Инвентарный номер

Дата

Приходный номер

Количество

Единица измерения

Число

Месяц

Год

Предусмотреть возможность выдачи данных по введенному инвентарному номеру изделия.

  1. Таблица содержит результаты спортивных соревнований: Ф. И. О., время на 100 м, время на 1 км, прыжок в высоту, прыжок в длину. Описать и заполнить запись для шести спортсменов. Определить лучшего спортсмена по каждому виду спорта.

  2. Пусть имеется таблица футбольного чемпионата, содержащая результаты игр между n командами. Описать таблицу в виде массива структур и составить программу подсчета количества очков, набранных каждой командой.

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

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

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

  6. Табель успеваемости группы студентов содержит следующие сведения: номер по порядку, фамилию, имя, отчество студента, оценки по каждому экзамену. Составить программу определения «качества» успеваемости, т. е. процент студентов, сдавших все экзамены на 5 и 4.

  7. Табель успеваемости группы студентов содержит следующие сведения: номер по порядку, фамилию, имя, отчество студента, оценки по каждому экзамену. Составить программу определения названия предмета, который был сдан лучше всего.

  8. Описать массив структур, содержащий информацию о внешности людей, такую, как пол, рост, вес, цвет волос и глаз. Написать программу, выдающую фамилию человека с указанными приметами.

  9. Известно количество очков, набранных каждой из 20 команд — участниц первенства по футболу. Ни одна пара команд не набрала одинакового количества очков. Вывести названия команд в порядке занятых мест в чемпионате.

  10. Дана информация о росте 15 юношей класса, упорядоченная по убыванию. Ни одна пара учеников не имеет одинакового роста. В начале учебного года в класс поступил новый ученик. Выполнить следующие действия:

а) вывести фамилии всех учеников, рост которых меньше роста новенького;

б) определить фамилию ученика, после которого следует записать фамилию новенького, чтобы упорядоченность не нарушилась;

  1. Описать структуру с именем STUDENT, содержащую следующие поля:

  • фамилия и инициалы;

  • номер группы;

  • успеваемость (массив из пяти элементов).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы;

  • вывод на дисплей фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4,0;

  • если таких студентов нет, вывести соответствующее сообщение.

7. 2. 27. Описать структуру с именем STUDENT, содержащую следующие поля:

  • фамилия и инициалы;

  • номер группы;

  • успеваемость (массив из пяти элементов).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию среднего балла;

  • вывод на дисплей фамилий и номеров групп для всех студентов, имеющих оценки 4 и 5;

  • если таких студентов нет, вывести соответствующее сообщение.

7. 2 . 28. Описать структуру с именем STUDENT, содержащую следующие поля:

  • фамилия и инициалы;

  • номер группы;

  • успеваемость (массив из пяти элементов).

Написать программу, выполняющую следующие действия:

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

  • вывод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2;

  • если таких студентов нет, вывести соответствующее сообщение.

7. 2 . 29. Описать структуру с именем AEROFLOT, содержащую следующие поля:

  • название пункта назначения рейса;

  • номер рейса;

  • тип самолета.

Написать программу, выполняющую следующие действия

  • ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть упорядочены по возрастанию номера рейса;

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

  • если таких рейсов нет, выдать на дисплей соответствующее сообщение.

7.2.30 Описать структуру с именем AEROFLOT, содержащую следующие поля:

  • название пункта назначения рейса;

  • номер рейса;

  • тип самолета.

Написать программу, выполняющую следующие действия:

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

  • вывод на экран пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры;

  • если таких рейсов нет, выдать на дисплей соответствующее сообщение.

7.2.31 Описать структуру с именем WORKER, содержащую следующие поля:

  • фамилия и инициалы работника;

  • название занимаемой должности;

  • год поступления на работу.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER; записи должны быть размещены по алфавиту.

  • вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;

  • если таких работников нет, вывести на дисплей соответствующее сообщение.

7.2.32. Описать структуру с именем TRAIN, содержащую следующие поля:

  • название пункта назначения;

  • номер поезда;

  • время отправления.

Написать программу, выполняющую следующие действия:

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

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

  • если таких поездов нет, выдать на дисплей соответствующее сообщение.

7.2.33. Описать структуру с именем TRAIN, содержащую следующие поля:

  • название пункта назначения;

  • номер поезда;

  • время отправления.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из шести элементов типа TRAIN; записи должны быть упорядочены по времени отправления поезда;

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

  • если таких поездов нет, выдать на дисплей соответствующее сообщение.

7.2.34. Описать структуру с именем TRAIN, содержащую следующие поля:

  • название пункта назначения;

  • номер поезда;

  • время отправления.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN; записи должны быть упорядочены по номерам поездов;

  • вывод на экран информации о поезде, номер которого введен с клавиатуры;

  • если таких поездов нет, выдать на дисплей соответствующее сообщение.

7.2.35. Описать структуру с именем MARSH, содержащую следующие поля:

  • название начального пункта маршрута;

  • название конечного пункта маршрута;

  • номер маршрута.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов;

  • вывод на экран информации о маршруте, номер которого введен с клавиатуры;

  • если таких маршрутов нет, выдать на дисплей соответствующее сообщение.

7.2.36. Описать структуру с именем MARSH, содержащую следующие поля:

  • название начального пункта маршрута;

  • название конечного пункта маршрута;

  • номер маршрута.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов;

  • вывод на экран информации о маршрутах, которые начинаются или кончаются в пункте, название которого введено с клавиатуры;

  • если таких маршрутов нет, выдать на дисплей соответствующее сообщение.

7.2.37. Описать структуру с именем NOTE, содержащую следующие поля:

  • фамилия, имя;

  • номер телефона;

  • день рождения (массив из трех чисел).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; записи должны быть упорядочены по датам дней рождения;

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

  • если такого нет, выдать на дисплей соответствующее сообщение.

7.2.38. Описать структуру с именем NOTE, содержащую следующие поля:

  • фамилия, имя;

  • номер телефона;

  • день рождения (массив из трех чисел).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; записи должны быть размещены по алфавиту;

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

  • если таких нет, выдать на дисплей соответствующее сообщение.

7.2.39. Описать структуру с именем NOTE, содержащую следующие поля:

  • фамилия, имя;

  • номер телефона;

  • день рождения (массив из трех чисел).

Написать программу, выполняющую следующие действия:

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

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

  • если такого нет, выдать на дисплей соответствующее сообщение.

7.2.40. Описать структуру с именем ZNAK, содержащую следующие поля:

  • фамилия, имя;

  • знак Зодиака;

  • день рождения (массив из трех чисел).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по датам дней рождения;

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

  • если такого нет, выдать на дисплей соответствующее сообщение.

7.2.41. Описать структуру с именем ZNAK, содержащую следующие поля:

  • фамилия, имя;

  • знак Зодиака;

  • день рождения (массив из трех чисел).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по датам дней рождения;

  • вывод на экран информации о людях, родившихся под знаком, наименование которого введено с клавиатуры;

  • если таких нет, выдать на дисплей соответствующее сообщение.

7.2.42. Описать структуру с именем ZNAK, содержащую следующие поля:

  • фамилия, имя;

  • знак Зодиака;

  • день рождения (массив из трех чисел).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по знакам Зодиака;

  • вывод на экран информации о людях, родившихся в месяц, значение которого введено с клавиатуры;

  • если таких нет, выдать на дисплей соответствующее сообщение.

7.2.43. Описать структуру с именем PRICE, содержащую следующие поля:

  • название товара;

  • название магазина, в котором продается товар;

  • стоимость товара в руб.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PRICE; записи должны быть размещены в алфавитном порядке по названиям товаров;

  • вывод на экран информации о товаре, название которого введено с клавиатуры;

  • если таких товаров нет, выдать на дисплей соответствующее сообщение.

7.2.44. Описать структуру с именем PRICE, содержащую следующие поля:

  • название товара;

  • название магазина, в котором продается товар;

  • стоимость товара в руб.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PRICE; записи должны быть размещены в алфавитном порядке по названиям магазинов;

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

  • если такого магазина нет, выдать на дисплей соответствующее сообщение.

7.2.45. Описать структуру с именем ORDER, содержащую следующие поля:

  • расчетный счет плательщика;

  • расчетный счет получателя;

  • перечисляемая сумма в руб.

Написать программу, выполняющую следующие действия:

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

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

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

7.2.46. Структура, описывающая понятие “Автомобиль”, имеет следующие поля:

      • Регистрационный номер (строка из 6 символов);

      • Код региона России (целое число);

      • Год выпуска (целое число);

      • Фамилия владельца (строка до 20 символов).

Составить программу, которая в таблице регистрации автомобилей по заданному регистрационному номеру и коду региона изменяет фамилию владельца на “Петровский”. Количество автомобилей, их характеристики и параметры поиска ввести с клавиатуры в основной программе. Результат вывести на экран в основной программе.

7.2.47. Структура, описывающая понятие “Человек”, имеет следующие поля:

      • Номер паспорта (семизначное целое число)

      • Фамилия (строка до 20 символов)

Базируясь на указанной структуре определить понятие “Проживающий”, доопределив исходную структуру полями “Наименование отеля” - строка до 15 символов и “Количество суток проживания” – целое число. Составить программу, которая вычисляет сумму, полученную в качестве оплаты за проживание в отеле “Приморский”. Количество проживающих, их характеристики и норматив оплаты ввести с клавиатуры в основной программе. Результат вывести на экран в основной программе.

7.2.48. Структура, описывающая понятие “Абонент телефонной сети”, имеет следующие поля:

      • Номер телефона (семизначное целое число)

      • Фамилия (строка до 20 символов)

      • Номер паспорта (длинное целое)

Базируясь на указанной структуре определить понятие “Должник”, доопределив исходную структуру полем “Долг по оплате” – вещественное число. Составить программу, печатающую данные абонента, имеющего максимальный долг по оплате. Количество должников и их характеристики ввести с клавиатуры в основной программе. Результат вывести на экран в основной программе.

7.2.49. Структура, описывающая понятие “Человек”, имеет следующие поля:

      • Номер паспорта (семизначное целое число)

      • Фамилия (строка до 20 символов)

Базируясь на указанной структуре определить понятие “Проживающий”, доопределив исходную структуру полями “Наименование отеля” - строка до 15 символов и “Количество суток проживания” – целое число. Составить программу, которая выводит на экран номера паспортов всех проживавших в заданном отеле, чьи фамилии начинаются с букв “Кузне”. Количество проживающих, их характеристики и наименование отеля ввести с клавиатуры в основной программе.

7.2.50. Структура, описывающая понятие “Автомобиль”, имеет следующие поля:

      • Регистрационный номер (строка из 6 символов);

      • Код региона России (целое число);

      • Номер паспорта владельца (длинное целое).

Регистрационный номер образован по шаблону: БЦЦЦББ, где Б – буква, Ц – цифра (например, K233ВО). Составить программу, которая по таблице регистрации вычисляет количество автомобилей, у которых сумма цифр номера равна 27. Количество автомобилей и их характеристики ввести с клавиатуры в основной программе. Результат вывести на экран в основной программе.

7.2.51. Структура, описывающая понятие “Книга”, имеет следующие поля:

      • Единый регистрационный номер (длинное целое);

      • Автор (строка до 20 символов);

      • Год издания (целое число);

      • Количество экземпляров (целое число).

Оформить функцию, которая вычисляет количество экземпляров книг заданного автора, выпущенных в период с 1986 по 2001 год. Характеристики книг и фамилию автора ввести с клавиатуры в основной программе. Результат вывести на экран в основной программе.

7.2.52. Структура содержит сведения о пациентах глазной клиники и имеет следующие поля:

      • Фамилия пациента (строка до 30 символов);

      • Пол (1 символ);

      • Год рождения (целое число);

      • Диагноз (строка до 50 символов).

Написать программу, выполняющую следующие действия:

      • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PAZIENT, записи должны быть размещены в алфавитном порядке по фамилиям;

      • вывод на экран информации о пациентах, старше Х лет с диагнозом У. Данные вводятся с клавиатуры;

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