|
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 5
|
|
Комплексные числа27.06.2013, 23:53. Показов 4854. Ответов 4
Метки нет (Все метки)
Добавлено через 32 секунды
Написать тестовую программу, которая: * динамически выделяет массив указателей на базовый класс (4-6 шт.); * в режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений; * для созданных экземпляров производных классов выполняется проверка всех разработанных методов (в соответствии с вариантом задания), с выводом исходных данных и результатов на дисплей. * для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в заданное место дисплея, (рекомендуется использовать статические члены класса). КАК СДЕЛАТЬ ЭТО? САМО ЗАДАНИЕ Описать базовый класс СТРОКА. Обязательные члены класса: * указатель на char - хранит адрес динамически выделенной памяти для размещения символов строки; * значение типа int - хранит длину строки в байтах. Обязательные методы должны выполнять следующие действия: * конструктор без параметров; * конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом); * конструктор, принимающий в качестве параметра символ (char). * конструктор копирования; * деструктор. * очистка строки (сделать строку пустой); Производный от СТРОКА класс СТРОКА_ИДЕНТИФИКАТОР Строки данного класса строятся по правилам записи идентификаторов в СИ, и могут включать в себя только те символы, которые могут входить в состав Си-идентификаторов. Если исходные данные противоречат правилам записи идентификатора, то создается пустая СТРОКА_ИДЕНТИФИКАТОР. Обязательные методы: * конструктор без параметров; * конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом); * конструктор, принимающий в качестве параметра символ (char). * конструктор копирования; * деструктор. * поиск первого вхождения символа в строку; Переопределить следующие операции: * присваивание (=); * сложение (+) - операция конкатенации строк; * индексное выражение []; Производный от СТРОКА класс КОМЛЕКСНОЕ_ЧИСЛО. Строки данного класса состоят из двух полей, разделенных символом i. Первое поле задает значение реальной части числа, а второе - мнимой. Каждое из полей может содержать только символы десятичных цифр и символы - и +, задающие знак числа. Символы - или + могут находиться только в первой позиции числа, причем символ + может отсутствовать, в этом случае число считается положительным. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, КОМЛЕКСНОЕ_ЧИСЛО принимает нулевое значение. Примеры строк 33i12 -7i100 +5i-21 Обязательные методы: * конструктор без параметров; * конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом); * конструктор копирования; * деструктор; Переопределить следующие операции : * присваивание (=); * сложение + - сумма чисел. Разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных членов и методов. Задание: Разработать иерархию классов по следующей схеме: СТРОКА | V —------------------------------------------ | | СТРОКА_ИДЕНТИФИКАТОР КОМПЛЕКСНОЕ_ЧИСЛО с обязательной поддержкой заданных членов и методов. Написать тестовую программу, которая: * динамически выделяет массив указателей на базовый класс (4-6 шт.); * в режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений; * для созданных экземпляров производных классов выполняется проверка всех разработанных методов (в соответствии с вариантом задания), с выводом исходных данных и результатов на дисплей. * для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его ввызовов в заданное место дисплея, (рекомендуется использовать статические члены класса). Режим диалога обеспечивается с помощью иерархического меню. Основные пункты: 1. "Инициализация". Подпункты: 1.1 "Число элементов" - задает число элементов в массиве указателей на базовый класс. Запрещается после задания числа элементов пользоваться этим пунктом меню. 1.2 "Начальное значение" - с помощью этого пункта меню можно задать номер элемента, его тип и начальное значение. Задавать начальные значения и работать с другими пунктами меню запрещается до тех пор, пока не будет задано число элементов. Допускается задать новое начальное значение несколько раз. 2. "Тестирование" В качестве подпунктов указываются типы строк из варианта задания и 27.06.13 обязательные для всех подпункты "строка" и "задание операнда", например: 2.1 "Строка" 2.2. "СТРОКА_ИДЕНТИФИКАТОР" 2.3. "КОМПЛЕКСНОЕ_ЧИСЛО" 2.4. "Задать операнд" После выбора одного из этих пунктов меню предлагается выбрать один методов из списка всех обязательных методов (кроме конструкторов и деструкторов), связанных с выбранным подпунктом. Результат выводится на экран. 3. "Выход". Допускается одновременный вывод всех пунктов меню на экран. Переход между пунктами меню осуществляется клавишами со стрелками. Выбор пункта меню осуществляется нажатием клавиши Enter. Значения экземпляров классов по мере их инициализации выводятся на дисплей и остаются на все время выполнения программы. После выбора операндов они подсвечиваются цветом, отличным от остальных экземпляров.
0
|
|
| 27.06.2013, 23:53 | |
|
Ответы с готовыми решениями:
4
Комплексные числа Комплексные числа
|
|
Антикодер
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
|
|
| 28.06.2013, 10:02 | |
|
Чего то я сомневаюсь, что родителем комплексного числа должна быть строка, по-моему правильная иерархия в статье про число
то есть правильнее делать специальный класс, который может представлять комплексные числа в виде строк.
0
|
|
|
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 5
|
||||||
| 28.06.2013, 15:14 [ТС] | ||||||
методы готовы,остались задания Написать тестовую программу, которая: * динамически выделяет массив указателей на базовый класс (4-6 шт.); * в режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений; * для созданных экземпляров производных классов выполняется проверка всех разработанных методов (в соответствии с вариантом задания), с выводом исходных данных и результатов на дисплей. * для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в заданное место дисплея, (рекомендуется использовать статические члены класса). Добавлено через 1 час 21 минуту ЗАКРЫВАЙТЕ ТЕМУ
0
|
||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 28.06.2013, 17:20 | |
|
Уже по длине задания видно что никто это просто так делать вам не будет. Если у вас есть код, который вы написали и что-то не получилось то пишите, постараюсь помочь подсказав как что-то конкретное реализовать, писать это всё за вас (да и читать такое задание тоже) желанием не горю
0
|
|
| 28.06.2013, 17:20 | |
|
Помогаю со студенческими работами здесь
5
комплексные числа
Комплексные числа Комплексные числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|