Лабораторні з ООП
16 PLNТреба виконати 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 робіт , тому що нажаль не впевнена що встигну їх виконати
Aktualne zlecenia dla freelancerów w kategorii C i C++
Rozwój oprogramowania dla Arduino (moduły RF 3–7,5 GHz, automatyczne skanowanie częstotliwości)Należy opracować system na Arduino do automatycznego wyszukiwania aktywnego analogowego sygnału wideo oraz automatycznego dostosowywania nadajnika do wykrytej częstotliwości.Planowane jest wykorzystanie trzech oddzielnych modułów odbiorczo-nadajnych: 3000–4200 MHz; 4900–6000… C i C++, Systemy wbudowane i mikrokontrolery ∙ 12 godzin 44 minuty temu ∙ 4 oferty |
Czarna Ukraina (projekt RP na bazie MTA)
4237 PLN
|
Inżynier infrastruktury proxy mieszkalnychBudujemy sieć proxy dla użytkowników od podstaw — w pełni własną, bez dostawców zewnętrznych. Potrzebujemy jednego wyjątkowego inżyniera sieci, który zbuduje całą podstawę techniczną. Co zbudujesz: - SDK w tle dla Androida, które kieruje ruch proxy przez urządzenia użytkowników… C i C++, DevOps ∙ 6 dni 8 godzin temu ∙ 13 ofert |
Dobrobka w istniejącej wersji 1c detalicznego bloku dla RC (centrum dystrybucji)Ogólnie wyjaśnię, co mamy za bazę - jest ogólny serwer, gdzie znajduje się baza Detal (gdzie rejestrowane są wszystkie przychody) - baza UTP, do której przelewają się wszystkie sprzedaże - liczy się marża, stany magazynowe - małe bazy detalicznych sklepów. W przypadku wymian,… C i C++, C# ∙ 6 dni 23 godziny temu ∙ 6 ofert |
Mistrzowska program «KONSTRUCTOR»
15 253 PLN
Szukamy bardzo doświadczonego programisty C++ do modernizacji istniejącego oprogramowania (programu głównego). Program odpowiada za tworzenie pochodnego oprogramowania reprezentującego sesje audiowizualnej korekcji psychologicznej. Obecna wersja jest napisana w czystym WinAPI… C i C++, Aplikacje desktopowe ∙ 12 dni 2 godziny temu ∙ 20 ofert |