Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания C++.doc
Скачиваний:
7
Добавлен:
18.04.2015
Размер:
132.61 Кб
Скачать

6.Выход из программы

Операции работы со списком выделить в отдельный модуль.

6.18. Разработать программу для работы с двухсвязным кольцевым списком. Информационное поле каждого элемента представляет собой структуру, содержащую поля: Улица, Дом, Корпус и Квартира. Программа должна выводить на экран компьютера меню вида:

1.Просмотреть состояние списка

2.Переместить указатель на элемент вперед

3.Переместить указатель на элемент назад

4.Добавить элемент в текущей позиции указателя

5.Удалить элемент в текущей позиции указателя

6.Выход из программы

Операции работы со списком выделить в отдельный модуль.

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

7.2. Разработать программу для работы с базой данных автомобилей. БД хранится в виде двоичного файла на диске. Каждая запись БД содержит поля: модель, год выпуска, объем двигателя, номер кузова, номер двигателя, цвет, регистрационный номер, владелец. Программа должна выполнять следующие функции: добавление и удаление записей, сортировку и поиск (минимум по полям владелец, модель+цвет и регистрационный номер), возможность вывода результата поиска и сортировки в виде текстового файла.

7.3. Разработать программу для работы с базой данных участников студенческой конференции. БД хранится в виде двоичного файла на диске. Каждая запись БД содержит поля: фамилия, имя, отчество, год рождения, почтовый адрес, контактный телефон, ВУЗ, факультет, признак студент или преподаватель, для студентов: специальность, курс, группа., для преподавателей: кафедра, ученая степень. Программа должна выполнять следующие функции: добавление и удаление записей, сортировку и поиск (минимум по полям фамилия и ВУЗ), возможность вывода результата поиска и сортировки в виде текстового файла.

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

7.5. Разработать программу для поиска последовательности байт (вводится в 16с/с) в файле. Программа должна выводить смещение найденных блоков относительно начала файла.

7.6. Разработать программу для поиска и замены фрагмента текста в текстовом файле.

7.7. Разработать программу для проверки текстового файла на наличие палиндромов. Программа должна показывать найденные палиндромы и номера строк и столбцов с которой они начинаются.

7.8. Разработать программу для шифрования файла путем выполнения операции “исключающее или” с 16 разрядным ключом.

7.9. Разработать программу для шифрования файла путем выполнения операции “исключающее или” с 32 разрядным ключом.

7.10. Разработать программу реализующую алгоритм RLE-компрессии файлов.

7.11. Разработать программу разбивающую файл на несколько файлов меньшей длины. Программа должна также позволять восстановить исходный файл из полученных фрагментов.

7.12. Разработать программу выделяющую начиная с некоторой позиции файла блок заданной длины и записывающую его в отдельный файл.

7.13. Разработать программу для работы с базой данных студентов. БД хранится в виде двоичного файла на диске. Каждая запись БД содержит поля: фамилия, имя, отчество, дата рождения, курс, группа и адрес. Программа должна выполнять следующие функции: добавление и удаление записей, сортировку и поиск (минимум по полям фамилия и курс), возможность экспорта содержимого базы в текстовый файл и импорта из текстового файла.

7.14. Разработать программу для работы с базой данных автомобилей. БД хранится в виде двоичного файла на диске. Каждая запись БД содержит поля: модель, год выпуска, объем двигателя, номер кузова, номер двигателя, цвет, регистрационный номер, владелец. Программа должна выполнять следующие функции: добавление и удаление записей, сортировку и поиск (минимум по полям владелец, модель+цвет и регистрационный номер), возможность экспорта содержимого базы в текстовый файл и импорта из текстового файла.

7.15. Разработать программу для работы с базой данных участников студенческой конференции. БД хранится в виде двоичного файла на диске. Каждая запись БД содержит поля: фамилия, имя, отчество, год рождения, почтовый адрес, контактный телефон, ВУЗ, факультет, признак студент или преподаватель, для студентов: специальность, курс, группа., для преподавателей: кафедра, ученая степень. Программа должна выполнять следующие функции: добавление и удаление записей, сортировку и поиск (минимум по полям фамилия и ВУЗ), возможность экспорта содержимого базы в текстовый файл и импорта из текстового файла.

8. Описать класс (см. варианты) имеющий конструктор, конструктор копирования, деструктор. Разработать тестовую программу.

9. Для объекта из задания 8 перегрузить операции (см. варианты). Разработать тестовую программу.

8.1. Класс для хранения комплексных чисел.

9.1. Перегрузить операции +, -, *(умножение), /, ==, != как члены класса и <<,>> как дружественные функции

8.2. Класс для хранения векторов переменной размерности (тип элемента int).

9.2. Перегрузить операции +,*(умножение),~(поразрядная инверсия элементов вектора) как члены класса и <<,>> как дружественные функции

8.3. Класс для хранения матриц переменной размерности (тип элемента int).

9.3. Перегрузить операции +,*(умножение),~(обращение матрицы) как члены класса и <<,>> как дружественные функции

8.4. Класс для хранения векторов переменной размерности (тип элемента double).

9.4. Перегрузить операции +,*(умножение),~(смена знака элементов вектора) как члены класса и <<,>> как дружественные функции

8.5. Класс для хранения матриц переменной размерности (тип элемента double).

9.5. Перегрузить операции +,*(умножение),~(обращение матрицы) как члены класса и <<,>> как дружественные функции

8.6. Класс Прямоугольная область

9.6. Перегрузить операции &, |, ==, !=, ~(отражение относительно начала координат) как члены класса и <<,>> как дружественные функции

8.7. Класс 3Dточка

9.7. Перегрузить операции +, -, ==, !=, ~(отражение относительно начала координат) <<,>> как дружественные функции

8.8. Класс для хранения строк переменной размерности.

9.8. Перегрузить операции +, ==, != преобразование типа (const char*) как члены класса и <<,>> как дружественные функции

8.9. Класс 2Dточка

9.9. Перегрузить операции +, -, ==, !=, ~(отражение относительно начала координат) как члены класса и <<,>> как дружественные функции

8.10. Класс геометрический вектор 2D

9.10. Перегрузить операции +, -, ==, !=, ~(отражение относительно начала координат) как члены класса и <<,>> как дружественные функции

8.11. Класс геометрический вектор 3D

9.11. Перегрузить операции +, -, ==, !=, ~(отражение относительно начала координат) и <<,>> как дружественные функции

8.12. Класс кольцевой буфер (использовать массив)

9.12. Перегрузить операции +,-,*,/ как члены класса и <<,>> как дружественные функции

8.13. Класс стек (использовать массив)

9.13. Перегрузить операции +,-,*,/ как члены класса и <<,>> как дружественные функции

8.14. Класс текст.

9.14. Перегрузить операции +,-(удаление строки),^ (шифрование текста) как члены класса и <<,>> как дружественные функции

8.15. Класс число в формате BCD.

9.15. Перегрузить операции +, -, *, /, >, <, >=, <=, ==, != преобразование типа (const char*) и (long int) как члены класса и <<,>> как дружественные функции

8.15. Класс “ множество ”.

9.15. Перегрузить операции +, -, &, |, ^, >, <, >=, <=, ==, != как члены класса и <<, >> как дружественные функции

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

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

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

10.4. Разработать абстрактный базовый класс(ы) “множество” (реализация через массив). Работа с элементами конкретного типа реализуется в производном классе за счет использования механизма виртуальных функций. Написать тестовую программу.

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

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

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

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

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

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

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

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

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

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

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

11.1. Разработать шаблон класса реализующего работу с векторами переменной размерности. Тип элемента задается как параметр шаблона. Написать тестовую программу.

11.2. Разработать шаблон класса реализующего работу с матрицами переменной размерности. Тип элемента задается как параметр шаблона. Написать тестовую программу.

11.3. Разработать шаблон класса “стек” (реализация через массив). Тип элементов стека задается как параметр шаблона. Написать тестовую программу.

11.4. Разработать шаблон класса “множество” (реализация через массив). Тип элементов множества задается как параметр шаблона. Написать тестовую программу.

11.5. Разработать шаблон класса для работы с очередью выполненной в виде массива с использованием механизма кольцевого буфера. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.6. Разработать шаблон класса для работы с очередью с двусторонним доступом выполненной в виде массива с использованием механизма кольцевого буфера. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.7. Разработать шаблон класса для работы с очередью с двусторонним доступом выполненной в виде двусвязного списка. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.8. Разработать шаблон класса для работы с очередью с двусторонним доступом выполненной в виде односвязного списка. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.9. Разработать шаблон класса для работы с очередью выполненной в виде односвязного списка. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.10. Разработать шаблон класса для работы со стеком реализованным в виде связного списка. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.11. Разработать шаблон класса для работы с односвязным списком. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.12. Разработать шаблон класса для работы с таблицей выполненной в виде бинарного дерева. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.13. Разработать шаблон класса для работы с односвязным кольцевым списком. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.14. Разработать шаблон класса для работы с двухсвязным списком. Тип элементов задается как параметр шаблона. Написать тестовую программу.

11.15. Разработать шаблон класса для работы с двухсвязным кольцевым списком. Тип элементов задается как параметр шаблона. Написать тестовую программу.

12. В одной из программ составленной для решения задания с 7 по 11 реализовать обработку ошибок с использованием механизма исключений.