Повторение основ работы с классами
Автор: Tanya Sem • Сентябрь 22, 2023 • Лабораторная работа • 14,365 Слов (58 Страниц) • 92 Просмотры
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Сибирский государственный университет науки и технологий
имени академика М.Ф. Решетнева»
Институт информатики и телекоммуникаций
Кафедра информатики и вычислительной техники
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ
Языки программирования
Лабораторная работа №1 Повторение основ работы с классами |
Руководитель Проскурин А.В.
подпись, дата инициалы, фамилия
Обучающийся
номер группы, зачетной книжки подпись, дата инициалы, фамилия
Красноярск 2022 г.
ЦЕЛЬ РАБОТЫ
Проверка и получение навыков: использования языковых средств и способов динамического выделения памяти; организации форматного ввода и вывода; Получение практических навыков разработки и отладки программ, использующих объекты класса и файловый ввод/вывод. Изучение различных реализаций конструкторов и областей их применения, а также аспектов перегрузки операций и работы с дружественными функциями.
порядок выполнения работы
- Ознакомиться с общей постановкой задачи.
- Ознакомиться с вариантом задания (24).
- Разработать класс согласно варианту задания.
- Написать и отладить программу на подготовленных наборах тестовых данных.
- Подготовить отчет по лабораторной работе.
- Защитить лабораторную работу перед преподавателем.
постановка задачи
Необходимо разработать программу, формирующую и обрабатывающий динамический массив объектов класса. В реализуемой программе необходимо предусмотреть возможность демонстрации работы конструкторов и методов созданного класса.
1. Определить класс. Все поля должны быть закрытыми (private). Все методы, кроме статических (static), работают только с одним объектом класса (не массивом).
2. Написать конструкторы, по умолчанию, с параметрами, копирования (получающий параметр «ссылка на класс»).
3. Написать методы ввода-вывода данных.
4. Написать методы get_X для получения значения поля X.
5. Написать методы set_X для установки значения поля X.
6. Реализовать выборки.
- Реализовать перегрузку операций для ввода-вывода данных через поток с помощью дружественных функций.
8. Написать функцию или статический метод заполнения массива объектов класса данными из файла (имя файла указывает пользователь программы, первой строчкой в файле указано количество записей). В качестве аргумента нужно передать ссылку на открытый поток для чтения
9. Написать функцию или статический метод вывода в файл информации (имя файла указывает пользователь программы). В качестве аргумента нужно передать открытый поток для записи.
10. Написать методы для перегрузки операций сравнения (согласно варианту задания).
11. Выполнить сортировку массива, используя перегрузки операций сравнения (согласно варианту задания).
12. С помощью функций реализовать меню для организации взаимодействия с пользователем. С помощью меню необходимо выполнить демонстрацию функционирования всей программы (т.е. после выполнения действия происходит вывод меню до тех пор, пока в меню не будет выбран пункт «Закончить работу с программой»).
Вариант №24.
Класс PersonData (Персональные данные): Поля: Фамилия, Имя, Отчество, Пол, Образование, Год рождения. Реализовать выборки:
а) списка граждан, возраст которых превышает заданный;
б) списка граждан с высшим образованием, чей возраст находится в определенном диапазоне;
в) списка граждан заданного пола. Реализовать сортировку массива объектов класса на основе:
- года рождения.
Ход работы
Classes.h
#pragma once
#pragma once
#ifndef CLASSES_H
#define CLASSES_H
#include <iostream>
...