«Программирование с использованием структур и динамических массивов»
Цель. Получить навыки программирования с использованием структур и динамических массивов.
I. Постановка задачи
1. Создать структуру, указанную в варианте, создать функцию ввода и вывода и протестировать.
2. Создать динамический массив структурного типа и реализовать ввод и вывод массива.
3. Создать несколько функций для вывода на основе заданных критериев и реализовать в программе.
II. Варианты
№
|
Структура
|
1
|
РАБОЧИЙ (имя, номер цеха, разряд, стаж)
|
2
|
ЖУРНАЛ (имя, периодичность, вид, издательство)
|
3
|
ТОВАР (имя, количество, стоимость, страна)
|
4
|
КВИТАНЦИЯ (номер, дата, сумма, адресат)
|
5
|
ЦЕХ (имя, начальник, количество рабочих, завод)
|
6
|
ПЕРСОНА (имя, возраст, пол, национальность)
|
7
|
КОРАБЛЬ (имя, водоизмещение, тип, возраст)
|
8
|
ГОРОД (название, республика, область, статус)
|
9
|
КАРТИНА (название, художник, год, галерея)
|
10
|
ПОСТОЯЛЕЦ (имя, страна, возраст, цель поездки)
|
11
|
ТЕЛЕФОН (имя абонента, номер, адрес, тип)
|
11
|
ФУТБОЛИСТ (имя, возраст, кем играет, голы)
|
13
|
ДИСК (название, объем, цена, страна)
|
14
|
УЧЕНИК (имя, возраст, школа, класс)
|
15
|
ДИСЦИПЛИНА (имя, объем часов, курс, вид)
|
16
|
БЛЮДО (название, вид, калорийность, цена)
|
17
|
МАРШРУТ( имя, количество городов, время, цена)
|
18
|
ЭКЗАМЕН (имя студента, дата, предмет, оценка)
|
19
|
АДРЕС ( имя, улица, номер дома, номер квартиры)
|
20
|
СЛУЖАЩИЙ (имя, возраст, отдел, рабочий стаж)
|
III. Содержание отчета
Титульный лист: название дисциплины; номер и наименование работы; фамилия, имя, отчество студента; дата выполнения.
Постановка задачи.
Определение структуры.
Функции для формирования массива, печати массива, преобразования массива, удаления массива.
Функции для отбора элементов массива.
Результаты выполнения работы.
IV. Методические указания
Для ввода можно использовать функцию, формирующую одну структуру, указанного в варианте типа. Значения элементов структуры вводятся с клавиатуры. Для ввода можно использовать операцию >> и функцию gets().
При вводе структур можно реализовать один из следующих механизмов:
ввод заранее выбранного количества структур (не менее 5);
ввод до появления структуры с заданным количеством признаков;
диалог с пользователем о необходимости продолжать ввод.
В программе должно быть как минимум две функции для отбора элементов массива по заданному критерию.
Необходимо сформировать динамически новый массив из отобранных элементов.
5. Пример определения структуры:
const int LNAME=25;
struct STUDENT{
char name[LNAME]; // имя
int age; // возраст
float grade; // рейтинг
};
6. Определение динамического массива студентов:
STUDENT *p;
p=new STUDENT [3];
Лабораторная работа №4
«Программирование с использованием классов и объектов»
Цель. Получить практические навыки реализации классов на С++. Выполнить исследование вызовов конструкторов и деструкторов. Получить практические навыки создания массивов объектов.
I. Постановка задачи.
1. Выбрать класс в соответствии с вариантом. Определить в классе следующие конструкторы: без параметров, с параметрами, копирования. Определить метод вывода. Выполнить тестирование.
2. Выбрать класс в соответствии с вариантом. Определить статические компоненты. Выполнить тестирование.
3. Выбрать класс в соответствии с вариантом. Создать класс со статическими методами для выбора объектов отвечающих заданным критериям. Создать в программе массив объектов. Применить методы класса для вывода объектов отвечающих заданным критериям.
II. Варианты
№
|
Класс
|
1
|
РАДИОДЕТАЛЬ (имя, марка, узел, стоимость, год изготовления)
|
2
|
СКАКУН (кличка, порода, вес, возраст, страна)
|
3
|
ЗАКАЗ (номер, товар, количество, сумма, дата, заказчик)
|
4
|
КУРАТОР (имя, кафедра, стаж, нагрузка, группа)
|
5
|
ВЕРШИНА (название, высота, горы, страна, первый покоритель)
|
6
|
ГРУППА (номер, факультет, направление, курс, количество )
|
7
|
ПОЕЗД (имя, количество вагонов, тип, возраст, машинист)
|
8
|
ЗВЕЗДА (название, масса, радиус, созвездие, расстояние от земли)
|
9
|
РЕКОРД (дистанция, время, дата, спортсмен, состязания)
|
10
|
СТРАНА (имя, правление, правитель, площадь, численность)
|
11
|
АВТОБУС (номер, тип, начало, конец, количество)
|
12
|
ВЕЩЕСТВО (название, обозначение, номер, атомный вес, заряд)
|
13
|
КОМПЬЮТЕР (название, процессор, память, цена, страна)
|
14
|
ХОККЕИСТ (имя, возраст, кем играет, количество шайб, команда)
|
15
|
ЗАНЯТИЕ (наименование, группа, вид, аудитория, преподаватель)
|
16
|
СПЕКТАКЛЬ (название, автор, режиссер, время, театр)
|
17
|
ПАМЯТНИК ( название, архитектор, город, страна, год)
|
18
|
АКТЕР (имя, возраст, звание, национальность, количество ролей)
|
19
|
БОКСЕР (имя, страна, вес, количество встреч, количество побед)
|
20
|
КАФЕДРА (название, заведующий, факультет, кабинет, телефон)
|
|
|
III. Содержание отчета
1. Титульный лист: название дисциплины; номер и наименование работы; фамилия, имя, отчество студента; дата выполнения.
2. Постановка задачи. Следует дать конкретную постановку, т.е. указать, какой класс должен быть реализован, какие должны быть в нем конструкторы, компоненты-функции и т.д.
3. Определение пользовательского класса с комментариями.
4. Реализация конструкторов и деструктора.
5. Листинг основной программы, в котором должно быть указано, в каком месте и какой конструктор или деструктор вызываются.
Do'stlaringiz bilan baham: |