Найди эксперта для помощи в учебе
Найти эксперта
+2
Создан заказ №1542766
3 декабря 2016

С++

Как заказчик описал требования к работе:
Лабораторная работа #1 Максимально возможный балл: 10 Реализовать простейшую картотеку в виде консольного приложения. Программа включает: 1. Класс, описывающий элемент картотеки (студент, служащий, товар и т.п.). Содержит атрибуты, описывающие элемент (имя, возраст и т.п.) и 4 функции, позволяющие : - считать атрибуты объекта с консоли (cin); - вывести атрибуты на экран (cout); - считать атрибуты объекта из файлового потока (получаемого в качестве параметра, имеющего тип ifstream&); - вывести атрибуты в файловый поток (параметр, имеющий тип ofstream&). 2. Контейнерный класс (группа, компания, склад и т.п.), содержащий: - контейнер (вектор либо список) указателей на класс-элемент; - функцию добавления элемента; - функцию вывода списка на экран; - функцию чтения списка из файлового потока; - функцию записи списка в файловый поток; - функцию очистки списка. 3. Функцию main, выводящую и обрабатывающую текстовое меню, которое позволяет воспользоваться всеми функциями, экспортируемыми контейнерным классом. Лабораторная работа #2 Максимально возможный балл: 5 Реализовать консольное приложение, включающее два класса, базовый и потомок. В базовом классе объявить простую и виртуальную функцию, в производном их перегрузить. Содержание функций - вывод на экран сообщения вида "простая/виртуальная функция базового/производного класса". Описать 4 указателя: - указатель на базовый класс, которому присвоен объект базового класса; - указатель на производный класс, которому присвоен объект производного класса; - указатель на базовый класс, которому присвоен объект из второго указателя; - указатель на производный класс, которому с использованием статической операции приведения типа присвоен объект из третьего указателя. С помощью каждого из указателей вызвать обе функции, после чего на защите работы объяснить результат. Работа отправляется на проверку с помощью кафедральных репозитариев в github: https://github.com/asugubkin/AS.1404.OOPP.2 - группа АС-14-04 https://github.com/asugubkin/AS.1405.OOPP.2 - группа АС-14-05 Перед синхронизацией с репозитарием в общем каталоге создается подкаталог со своим номером по журналу (01, 02,...), в него копируются файлы проекта. Лабораторная работа #3 Максимально возможный балл: 10 Добавить в приложение из первой лабораторной работы класс-потомок элемента (староста, менеджер и т.п.), содержащий несколько дополнительных полей. В главное меню вставить пункт, позволяющий добавить объект производного класса, хранение этих объектов осуществлять в том же контейнере, в котором хранятся объекты базового класса. Преобразовать функции консольного ввода-вывода в виртуальные, ввод-вывод в файл реализовать с помощью механизма сериализации MFC. Обязательное условие: использование "умных" указателей (shared_ptr) в качестве элементов контейнера. Лабораторная работа #4 Максимально возможный балл: 10 Преобразовать приложение из третьей лабораторной работы в оконное приложение, использующее модель Document/View библиотеки MFC. Включить контейнерный объект в класс-потомок CDocument, вставив вызовы его функций в функции, осуществляющие ввод-вывод в файл и очистку. Реализовать в прикладных классах функции для вывода информации на CDC и подсчета размера выводимого текстового блока, вставить их вызовы в функции класса-потомка CView, осуществляющие вывод на экран и задание размеров скроллинга. Обязательное условие: перебор элементов в контейнере осуществляется с помощью алгоритма for_each и функции bind. Лабораторная работа #5 Максимально возможный балл: 10 Добавить в приложение из четвертой лабораторной работы диалог редактирования списка элементов, вызываемый с помощью отдельного пункта меню и/или кнопки. Обязательное условие: перебор элементов в контейнере осуществляется с помощью алгоритма for_each и лямбда-функций. Распределение по вариантам. Вариант 1 (нечетные номера по списку) Диалог включает: - список (listbox), содержащий имена/названия элементов, хранящихся в контейнерном классе; - защищенные от записи текстовые поля ввода, по одному на каждый атрибут классов-элементов; - кнопки для добавления, удаления, редактирования элементов и кнопка закрытия диалога. При выборе пользователем элемента в списке поля ввода заполняются информацией из атрибутов выбранного элемента. При выборе объекта базового типа поля, относящиеся к производному, скрываются. Кнопка добавления вызывает диалог добавления, позволяющего выбрать тип вводимого элемента и заполнить его атрибуты. Выбор между типами возможен с помощью check box, radio button (в обоих случаях при выборе базового типа поля, относящиеся к производному, скрываются), tab control (поля, относящиеся к производному, вынесены на отдельную закладку). Допустимо использование в главном диалоге двух кнопок добавления, класс диалога добавления в любом случае только один. После добавления элемента он добавляется в конец списка и выбирается. Кнопка удаления удаляет выбранный элемент. При наличии в списке других элементов выбор перемещается на элемент с тем же индексом, что и удаленный (либо предыдущий, если удалялся последний элемент списка). Кнопка редактирования вызывает диалог добавления, поля которого заполняются информацией из атрибутов выбранного элемента. После завершения редактирования основной диалог обновляется (включая список и поля ввода), измененный элемент остается выбранным. После нажатия кнопки закрытия диалога главное окно приложения перерисовывается. Вариант 2 (четные номера по списку) Диалог включает: - список (listbox), содержащий имена/названия элементов, хранящихся в контейнерном классе; - текстовые поля ввода, по одному на каждый атрибут классов-элементов; - кнопки для добавления (две) и удаления элементов и кнопка закрытия диалога. При выборе пользователем элемента в списке поля ввода заполняются информацией из атрибутов выбранного элемента. При выборе объекта базового типа поля, относящиеся к производному, скрываются. Поля ввода позволяют отредактировать информацию о выбранном элементе непосредственно в главном диалоге. При редактировании имени обновляется содержимое списка. Кнопки добавления (базового либо производного класса) добавляют соответствующий объект в конец списка и выбирают его с тем, чтобы стало возможным немедленное редактирование в полях ввода. Кнопка удаления удаляет выбранный элемент. При наличии в списке других элементов выбор перемещается на элемент с тем же индексом, что и удаленный (либо предыдущий, если удалялся последний элемент списка). После нажатия кнопки закрытия диалога главное окно приложения перерисовывается. Лабораторная работа #1 Максимально возможный балл: 10 Написать консольное приложение, реализующее один из простейших методов шифрования/дешифрования произвольного файла с использованием ключа (пароля) - на основе посимвольного xor, подстановки по нескольким алфавитам и т.п. В вырожденном случае с использованием односимвольного ключа алгоритм сводится к одноалфавитной подстановке. Требования к реализации: в качестве кодируемого материала используется файл неограниченной длины; предпочтительно задание имен входных/выходных файлов и пароля в командной строке. сопоставления результатов частотного анализа для закодированного текста и эталона проводится первичное декодирование, частично декодированный текст отображается в окне приложения. В дальнейшем приложение предоставляет пользователю интерфейс для ручной замены отдельных символов, постоянно отображая при этом в окне процесс декодирования. Требования к реализации: возможность загрузки произвольных исходных и эталонных текстов; сохранение результата в произвольный файл; возможность перехода к другим зашифрованным текстам и эталонам без завершения приложения. Вариант считывания всего файла в вектор: vector v((istreambuf_iterator(ifstream(FileName, ios::binary))), istreambuf_iterator()); Лабораторная работа #3 Максимально возможный балл: 15 Написать консольное либо диалоговое приложение, реализующее шифрование по открытому ключу с использованием алгоритма RSA. Допустимо как использование библиотеки CryptoAPI, так и самостоятельная реализация алгоритма RSA с использованием одной из библиотек для работы с большими числами (Arageli, MPIR, NTL и т.п.). Требования к реализации: возможность генерации пары открытый/закрытый ключ с последующим их сохранением в файлы; возможность указания соответствующего ключа в операциях кодирования/декодирования. Фамилия у меня Филатов, группа АС-14-5, это если понадобится Нужно чтобы было как можно больше закомменченого, чтобы я понял как всё происходи
подробнее
Заказчик
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
20 дней
Заказчик принял работу без использования гарантии
4 декабря 2016
Заказ завершен, заказчик получил финальный файл с работой
5
Заказ выполнил
ЕленаД
5
скачать
С++.jpg
2020-09-09 03:54
Последний отзыв студента о бирже Автор24
Общая оценка
4
Положительно
Автор исполняет всё добросовестно и в срок. Консультирует по вопросам заказа. Всегда на связи. Рекомендую, как ответственного исполнителя.

Хочешь такую же работу?

Оставляя свои контактные данные и нажимая «Создать задание», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.
Хочешь написать работу самостоятельно?
Используй нейросеть
Мы создали собственный искусственный интеллект,
чтобы помочь тебе с учебой за пару минут 👇
Использовать нейросеть
Тебя также могут заинтересовать
бота с Функция: показать время заката солнца в нн
Лабораторная работа
Программирование
Стоимость:
300 ₽
Курсовая работа по программной инженерии
Курсовая работа
Программирование
Стоимость:
700 ₽
Моделирование бизнес-процессов средствами UML
Реферат
Программирование
Стоимость:
300 ₽
Решение задач по автоматизации инженерных расчетов
Решение задач
Программирование
Стоимость:
150 ₽
Программирование
Курсовая работа
Программирование
Стоимость:
700 ₽
Прикладные программы с высокой степенью автоматизации управления
Контрольная работа
Программирование
Стоимость:
300 ₽
Выполнить лабы по программированию с++. К-00152
Контрольная работа
Программирование
Стоимость:
300 ₽
3D MAX! Простое задание! Все есть в описании. Работа на 1-2 часа.
Лабораторная работа
Программирование
Стоимость:
300 ₽
SIMULINK.
Контрольная работа
Программирование
Стоимость:
300 ₽
Информационная система по оценке рыночной стоимости бизнеса
Контрольная работа
Программирование
Стоимость:
300 ₽
Лабораторные на Python.
Лабораторная работа
Программирование
Стоимость:
300 ₽
Лабораторная работа (язык Standard ML)
Лабораторная работа
Программирование
Стоимость:
300 ₽
Выполнить 3 лабораторные работы по математическим методам в больших данных
Лабораторная работа
Программирование
Стоимость:
300 ₽
Разработка пользовательского интерфейса в Figma
Лабораторная работа
Программирование
Стоимость:
300 ₽
Задача на многопоточность C/ C++
Лабораторная работа
Программирование
Стоимость:
300 ₽
Сделать лабораторные работы по ооп на языке c#
Лабораторная работа
Программирование
Стоимость:
300 ₽
Разработка информационной системы по отслеживанию износа оборудования. C++/С#
Лабораторная работа
Программирование
Стоимость:
300 ₽
бота с Функция: показать время заката солнца в нн
Лабораторная работа
Программирование
Стоимость:
300 ₽
Читай полезные статьи в нашем
Операторы ввода и вывода. Структура программы на языке Turbo Pascal 7.0
Структура программы на языке Turbo Pascal 7.0 содержит разделы:
Рассмотрим структуру программы на конкретном примере.
Создадим новый файл в окне редактора, программу «Hello, World!», которая содержит приветствие для пользователя:
В первой строчке программы содержится название — «Hello_World», служебный оператор program указывает на название программы, что не является обязательной конструкцией. Затем...
подробнее
Организация ветвлений в Turbo Pfscal V.7.0

Ветвление в среде Turbo Pascal может осуществляться двумя способами: условным оператором и оператором выбора варианта. Применяя эти операторы, можно проверить выполнение условия ветвления и выбрать один вариант дальнейшего вычисления.
Этот оператор выбирает одно из двух направлений выполнения действий, зависящее от некоторого условия, отметим, что одна из ветвей может отсутствовать. Условие выбора...
подробнее
Язык HTML
На протяжении ряда последних лет постоянно совершенствуются технические возможности вычислительной техники, развиваются коммуникационные средства и технологии управления информационными ресурсами, все это приводит к тому, что активно появляются более крупные информационные системы. Имеются в виду масштабы систем не только в отношении объемов поддерживаемых информационных ресурсов, но и в отношени...
подробнее
XML и XHTML
В свою очередь XHTML (Extensible Hypertext Markup Language, расширяемый язык разметки гипертекста) является промежуточным вариантом между XML и HTML 4.0. Именно в связи с его широким применением консорциумом W3C планируется осуществление постепенного перехода от одного стандарта к другому. Спецификация XHTML построена ппринципу обратной совместимости. Иначе говоря, владельцам веб-сайтов, созданны...
подробнее
Операторы ввода и вывода. Структура программы на языке Turbo Pascal 7.0
Структура программы на языке Turbo Pascal 7.0 содержит разделы:
Рассмотрим структуру программы на конкретном примере.
Создадим новый файл в окне редактора, программу «Hello, World!», которая содержит приветствие для пользователя:
В первой строчке программы содержится название — «Hello_World», служебный оператор program указывает на название программы, что не является обязательной конструкцией. Затем...
подробнее
Организация ветвлений в Turbo Pfscal V.7.0

Ветвление в среде Turbo Pascal может осуществляться двумя способами: условным оператором и оператором выбора варианта. Применяя эти операторы, можно проверить выполнение условия ветвления и выбрать один вариант дальнейшего вычисления.
Этот оператор выбирает одно из двух направлений выполнения действий, зависящее от некоторого условия, отметим, что одна из ветвей может отсутствовать. Условие выбора...
подробнее
Язык HTML
На протяжении ряда последних лет постоянно совершенствуются технические возможности вычислительной техники, развиваются коммуникационные средства и технологии управления информационными ресурсами, все это приводит к тому, что активно появляются более крупные информационные системы. Имеются в виду масштабы систем не только в отношении объемов поддерживаемых информационных ресурсов, но и в отношени...
подробнее
XML и XHTML
В свою очередь XHTML (Extensible Hypertext Markup Language, расширяемый язык разметки гипертекста) является промежуточным вариантом между XML и HTML 4.0. Именно в связи с его широким применением консорциумом W3C планируется осуществление постепенного перехода от одного стандарта к другому. Спецификация XHTML построена ппринципу обратной совместимости. Иначе говоря, владельцам веб-сайтов, созданны...
подробнее
Теперь вам доступен полный отрывок из работы
Также на e-mail вы получите информацию о подробном расчете стоимости аналогичной работы