Skip to content

helistam/C-labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторные работы 3 семестр С++


Navigation

Условия лабораторных

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

Создать класс, в котором реализовать функции для работы с одномерными массивами: а) получить пересечение элементов массивов; б) получить объединение элементов массивов. Память под массивы отводить динамически. Использовать конструктор с параметрами, конструктор копирования. Деструктор должен освобождать память, выделенную под массивы.

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

Написать класс для работы с символьными строками. Память под строку отводить динамически. Перегрузить операторы =, +, +=, ==, !=, [], ()(int, int). Продемонстрировать работу с этими операторами.

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

Реализовать наследование согласно диаграмме классов

Image alt

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

Реализовать свой класс "список"(List)

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

Написать программу на основе лабораторных №3-4: Реализовать базовый класс ошибок, от него унаследовать несколько других классов (для проверки ввода числа, ввода строк и т.д.)

Image alt

Написать функции для проверки ввода различных полей (имя, дата, номер карты…) и добавить их вызов при заполнении полей класса. В них генерировать исключения, например при неправильном вводе

if(str[i]<’A’||str[i]>’Z’) throw ExpVvod(123, “Вводите только прописными латинскими буквами.”);

При необходимости добавить генерацию ошибок на неправильное выделение памяти, выход за границы контейнера и т.п.

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

Задание выполнить на основе предыдущих лабораторных работ. Расшить функционал предыдущих работ. Написать функции для чтения/записи в файл в двух видах: текстовом и бинарном. В контейнер (разработанный в лабораторной работе №4) поместить несколько объектов из лабораторной работы №3, записать содержимое контейнера в файл и прочитать записанные данные обратно в контейнер. Для записи в бинарный файл следует использовать промежуточную структуру с фиксированным размером полей, если в исходном классе содержатся динамические поля. Продемонстрировать работу с текстовыми и бинарными файлами.

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

Продемонстрировать работу с vector и библиотекой algorithm

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published