Лабораторні з ООП
200 UAHТреба виконати 3 лабораторні до 13.12.2021
Лаб. 1
Завдання
Структурою-парою прийнято називати структуру, яка складається з двох полів з іменами first і second.
Необхідно реалізувати власний тип даних за допомогою цієї структури [11].
Створити кілька об’єктів (ob1, ob2, ob3,…) такого структурного типу.
В усіх завданнях реалізувати:
уведення структурної змінної (функція input());
функцію check(), яка повинна забезпечувати перевірку введених функцією input() значень на коректність;
виведення на екран інформації про об'єкт (функція output());
продемонструвати результати роботи програми, викликавши всі функції з основної функції main().
При введенні помилкових значень параметрів слід вивести відповідне повідомлення і знов запропонувати ввести потрібні значення.
Глобальні змінні не використовувати.
Програму реалізувати у двох варіантах:
1) всі необхідні функції описати як звичайні зовнішні функції засобами мови С (якщо в умові написано "метод", то під методом розуміється звичайна функція);
2) функції, які оперують одним об’єктом, описати як функції-члени структури (мова С++); тіла функцій описати за межами структури, використовуючи оператор прив'язки; для введення/виведення інформації використовувати об'єкти cin, cout. (якщо в умові написано "метод", то під методом розуміється член-функція).
Зауваження: 1. для реалізації деяких власних структурних типів може виникнути необхідність у створенні ще одного допоміжного структурного типу, за допомогою якого будуть визначатися поля first і second.
Поле first – дійсне число, координата x точки на площині; поле second – дійсне число, координата y точки на площині. Реалізувати методи distance() – відстань від точки до початку координат, distanceTwo(ob1,ob2) – відстань між двома точками.
Лаб.2
Завдання
Перезавантажити функції для різних типів вхідних даних, або створити шаблони функцій, або перевизначити операції для означених користувачем типів (нові типи задавати у вигляді структур) [17].
Для тих варіантів завдань, де треба використовувати структурний тип, у описі типу використовувати лише члени дані. А всі необхідні оператори і функції визначити за межами структури.
Перезавантажити операцію “*” для множення двох комплексних чисел, множення дійсного (float, double) і комплексного числа, обчислення скалярного добутку двох векторів з елементами числових типів.
Лаб. 3
Завдання
У всіх завданнях описати класовий тип (у першій частині – це структура, у другій частині – клас з використанням цієї структури). Окрім вказаних у завданні функцій, для об’єкта заданого класового типу повинні бути також реалізовані наступні функції [11]:
ініціалізація об’єкта init(). Функція отримує необхідні параметри для заповнення ними об'єкта;
введення об’єкта з клавіатури input(). Функція вводить дані і заповнює ними об'єкт;
виведення об’єкта на екран output(). Функція виводить дані лише про об'єкт;
перетворення об’єкта в рядок toPChar(). Функція повинна повертати результат типу char*. Результат має представляти об'єкт, підготовлений для виведення на друк.
Підказки по реалізації функції toPChar(): функції itoa() i ftoa() переводять відповідно ціле і дійсне у рядок. Функція sprintf() друкує інформацію у рядок, який задається 1-м аргументом точно так, як функція printf() друкує інформацію на екран. Нединамічний рядок, описаний у функції, припиняє своє існування за межами функції. Динамічний рядок створюються у купі і продовжує існувати після завершення виконання функції, поки його не буде знищено за допомогою delete().
Усі завдання повинні бути реалізовані двома способами (завдання складається з 2 частин):
1) тип даних задається структурою з необхідними полями, а операції над об'єктом реалізуються як зовнішні неоператорні функції, які отримують об’єкти даного типу або посилання на такі об'єкти як аргументи;
2) тип даних задається класом. Член-даних класу – одна приватна змінна структурного типу, який описаний у п.1, члени-функції класу – відкриті неоператорні функції init(), input(), output(), toPChar() і функції доступу до приватної змінної setStruct(), getStruct() або до окремих полів приватної змінної setVar(), getVar().
Функції, зазначені в конкретному варіанті, визначити як звичайні сторонні функції (доступ для до приватної частини класу в цих функціях відбувається за допомогою функцій доступу).
Визначити тип TPoint для роботи з точками на площині. Координати точки – декартові. Обов’язково повинно бути реалізовано: переміщення точки по осі X, переміщення по осі Y, визначення відстані до початку координат, відстані між двома точками, перетворення в полярні координати, порівняння на збіг та неспівпадання двох точок.
-
767 20 0 Доброго вечора Олександр ! Уже виконала перше завдання
Наскільки зрозуміла по умовам ваш викладач ( з лекцій та можливо лабораторних) має ініціали С.Т.М. , тому можу запевнити вас це завдання вона одобрить
Також можу надіслати приклади до виконання 2 та 3 робіт , тому що нажаль не впевнена що встигну їх виконати
Актуальные фриланс-проекты в категории C и C++
Чёрная Украина (RP-проект на базе MTA)
51 525 UAH
|
Инженер по инфраструктуре резидентных проксиМы строим сеть резидентных прокси с нуля — полностью собственную, без сторонних поставщиков. Нам нужен один исключительный сетевой инженер для создания всей технической базы. Что вы будете строить: - Android SDK для фонового использования, который направляет прокси-трафик через… C и C++, DevOps ∙ 4 дня 18 часов назад ∙ 13 ставок |
Добробка в существующей версии 1с розница блока для РЦ(распределительного центра)В общем поясню, что у нас за база - есть общий сервер, где есть база Розница (где ставятся все приходы) - база УТП, куда переливаются все продажи - считается наценка, остатки по складам - маленькие базы розничных магазинов. По обменам у нас магазины обмениваются с базой Розница… C и C++, C# ∙ 5 дней 8 часов назад ∙ 6 ставок |
ПО Мастер-программа «KONSTRUCTOR»
185 490 UAH
Мы ищем очень опытного C++ разработчика для модернизации существующего ПО (мастер-программы). Программа отвечает за создание производного ПО представляющего аудио-визуальные сеансы психологической коррекции. Текущая версия написана на чистом WinAPI (Visual Studio 2019/2022).… C и C++, Десктопные приложения ∙ 10 дней 12 часов назад ∙ 19 ставок |
Написание кода для ArduinoНеобходимо разработать программное обеспечение для весового дозатора на базе Arduino Uno. Комплектующие: Arduino Uno R3 HX711 + тензодатчик LCD1602 I2C дисплей MAX7219 светодиодная матрица 8x32 5 кнопок управления 4-канальное реле 2 сигнальные лампы Вибромагнит грубого… C и C++, Встраиваемые системы и микроконтроллеры ∙ 11 дней 20 часов назад ∙ 15 ставок |