Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
19.08.2022
Размер:
68.1 Кб
Скачать

Лабораторная работа 14.

Структуры.

1. Цель работы:

  1. Получить практические навыки работы со структурами и строками.

  2. Получить практические навыки организации массивов с элементами сложной структуры.

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

  1. Написать процедуру для формирования массива из элементов структурного типа. Структурный тип определен в варианте. Данные получить из заранее подготовленного файла Input.txt, содержащего не менее 15 записей в соответствующем формате.

  2. Найти записи в файле, удовлетворяющие заданным условиям (колонка «Критерий для поиска»), занести найденные записи во второй массив.

  3. Написать процедуру для вывода структуры на экран. Используя эту процедуру, написать процедуру вывода массива на экран. Вывести массив, полученный в результате выполнения заданий 1 и 2 на экран.

  4. Написать процедуру для вывода массива в файл. В качестве параметров функция должна принимать массив и строку – имя файла..

  5. Написать процедуру для обработки массива в соответствии с заданием своего варианта (последняя колонка). Преобразовать оба массива и вывести результаты в два файла (отдельно для каждого массива).

  6. Написать функцию для вывода вектора в файл и вывести в файл Search.txt результаты поиска.

4 Варианты

варианта

Структура

Критерий для поиска

Задание для обработки массива структур

1

struct person

{

string name;

string adres;

int age;

};

Имена начинаются на букву ‘A’ и возраст не менее 16 лет

Отсортировать по возрастанию поля adres

2

struct date

{

int day;

string month;

int year;

};

Даты с летними месяцами и чётными днями

Отсортировать по убыванию поля year

3

struct student

{

string name;

int kurs;

float rating

};

Поиск по указанной фамилии среди студентов 1 курса

Удалить студентов, имеющих рейтинг ниже указанного

4

struct employee

{

string name;

float salary;

int stage

};

Поиск по указанной фамилии и стажем более 3 лет

Поменять местами записи о сотрудниках с самой маленькой и самой большой зарплатой

5

struct pupil

{

string name;

int age;

float rating

};

Ученики со средним баллом больше 4 и указанной фамилией.

Отсортировать по убыванию поля name

6

struct person

{

string name;

string family;

unsigned long int telefon;

};

Поиск по указанной фамилии (или первым буквам фамилии)

Удалить персон, чьи телефоны начинаются с указанной цифры.

7

struct date

{

int day;

string month;

int year;

};

Даты, в которых встречается указанная буква

Вставить на указанное место дату Вашего рождения

8

struct student

{

string name;

int kurs;

float rating;

};

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

Отсортировать по убыванию рейтинга

9

struct book

{

string autor;

int year;

string title;

};

Книги указанного автора, в заглавии встречается казанное слово

Отсортировать по возрастанию года издания

10

struct pupil

{

string name;

int age;

float rating

};

Ученики, у которых фамилия или имя начинается с указанных буквосочетаний

Удалить самого старшего ученика

5. Методические указания

  1. Если в файле отсутствуют элементы, соответствующие критерию поиска, то должно быть выведено сообщение о том, что требуемые элементы не найдены.

  2. При удалении элементов массива предусмотреть ситуации, когда массив пуст или количество удаляемых элементов будет превышать количество имеющихся элементов. В этом случае должно быть выведено сообщение об ошибке.

6. Критерии оценивания работы

В таблице приведены критерии, по которым студент может оценить свою работу.

Критерии оценивания заданий

Процент

При наличии синтаксических ошибок (программа не транслируется) работа не оценивается (0 процентов выполнения)

(набранные баллы)*0

Наличие логических ошибок, например, зацикливание программы или возникновение ошибки времени выполнения

-50%

Небрежное оформление, отсутствие сведений о разработчике, наличие предупреждений, недружелюбный интерфейс

-20%

Вспомогательные алгоритмы:

  • формирование массива из элементов структурного типа (читать из файла)

20

  • формирование массива из элементов структурного типа с заданными свойствами (читать из файла)

20

  • вывод структуры на экран

5

  • вывод массива на экран

5

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

25

  • Функция, преобразующая массив в соответствии с заданием варианта (крайний правый столбец таблицы вариантов)

25

Итого -

100 %

Дополнительно к этому общая оценка работы:

Аккуратное форматирование, комментариев необходимое и достаточное количество

Программа выводит сведения о разработчике и номер варианта.

5

Итого

100 %