Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов.
За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее.
✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать».
Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами!
1) розробити запропонований клас згідно віаріанту: всі данні класу зробити закритими, всі методи – відкритими;
2) в класі окрім данних реалізувати конструктор за замовчуванням (який обнулює всі данні для об’єктів), параметризований конструктор (який задає початкові значення данних об’єктів), конструктор копіювання, деструктор;
3) реалізуванти метод INIT, який організує введення даних об’єктів з клавіатури;
4) реалізуванти метод SHOW, який організує виведення даних об’єктів на екран;
5) реалізуванти методи, які повертають значення закритих данних;
6) реалізувати метод TEST згідно варіанта;
7) в основній програмі (у функції main) необхідно розробити тестову частину, яка повинна:
· створити три об’єкта (перший створюється конструктором за замовчуванням, другий – параметризованим конструктором, третій – конструктором копіювання, який копіює данні з другого об’єкта);
· данні для першого об’єкта вводяться з клавіатури за допомогою виклику метода INIT;
· викликати метод TEST для всих трьох об’єктів;
· вивести данні всих трьох об’єктів на екран через метод SHOW;
· створити масив з двох об’єктів конструктором за замовчуванням, проініціалізувати їх данні за допомогою виклику метода INIT;
· данні масиву об’єктів вивести на екран через метод SHOW;
· для масиву об’єктів реалізувати СПЕЦ-ЗАВДАННЯ (використавши методи, які повертають значення закритих данних);
Вимоги до ЗАВДАННЯ №2 для всих варіантів:
Створити новий проект. Розробити інтерфейс та реалізація класу, як в завданні №1. Всі данні класу та всі методи зробити відкритими. В основній програмі (в функції main) необхідно розробити тестову частину, яка повинна: створювати два об’єкти (перший констрктором з параметрами, другий конструктором за замовчуванням). Данні першого об’єкта записати у файл 1.txt. Відкрити повторно файл 1.txt, зчитати з нього інформацію і записати її у змінні другого об’єкта. Данні другого об’єкта вивести на екран методом SHOW.
Виконати відокремлення інтерфейсу від реалізації класу (тобто, інтерфейс класу записати у заголовочний файл my.h, реалізацію класу записати у заголовочний файл my.cpp, головну функцію main розмістити у файлі testmyclass.cpp)
№ вар.
Завдання 1
СПЕЦ-ЗАВДАННЯ
Варіант
1, 16
Об’явити клас для збереження даних про літаки, який містить данні: номер рейсу літака, назву літака, кількість місць, день відправлення, вартість квитка.
Метод TEST: обчислення та виведення загальної вартості перевезення пасажирів для кожного літака.
Визначити кількість літаків, які мають більше 50 посадочних місць.
Варіант
2, 17
Об’явити клас для збереження даних про робітників, який містить данні: прізвище, посада, кількість відпрацьованих годин, категорія.
Метод TEST: обчислення та виведення зарплати робітника згідно категорій (1 категорія – 15грн/год, 2 категорія – 12, 35грн/год).
Визначити загальну кількість годин, яку відпрацювали всі робітники підприємства.
Варіант
3, 18
Об’явити клас для збереження даних про станки (назва станка, кількість відпрацьованих годин, кількість виготовлених деталей в годину).
Метод TEST: обчислення та виведення загальної кількості розроблених деталей за всі години для кожного станка.
Визначити назву станка, який має найменшу кількість відпрацьованих годин.
Варіант
4, 19
Об’явити клас для збереження даних про студентів (прізвище, група, курс, оцінка з програмування, оцінка з фізики, оцінка з математики.
Метод TEST: обчислення та виведення середнього балу кожного студента.
Визначити та вивести всі дані про відмінників.
Варіант
5, 20
Об’явити клас для збереження даних про пацієнта (прізвище, рік народження, частота пульсу і температура).
Метод TEST: визначення та виведення інформації про те, чи показники пацієнта в нормі.
Визначити та вивести всі дані про пацієнтів, тиск яких підвищений.
Варіант
6, 21
Об’явити клас для збереження даних про робітників (прізвище, вік, стаж, категорію).
Метод TEST: обчислення та виведення кількість років, які працівнику залишилось відпрацювати до пенсії: (пенсійним віком вважати вік – 60 років).
Вивести прізвище та категорію працівника з найменшим стажем роботи.
Варіант
7, 22
Об’явити клас для збереження даних про потяги (номер потяга, місце призначення, середню швидкість потягу, відстань між пунктом відправлення та пунктом призначення).
Метод TEST: обчислення та виведення час ходу кожного потяга.
Визначити кількість потягів, які прибувають у місце призначення, назва якого починається з літери «А».
Варіант
8, 23
Об’явити клас для збереження даних про магазини (назва магазину, місце знаходження, товарообіг за місяць в грн, премія). Конструктор з параметрами та метод INIT ініціалізують всі данні окрім премії.
Метод TEST: обчислення премії кожного магазину(якщо продано продукції на суму < 7000 грн – премія 5%, інакше 7%).
Для масиву об’єктів також визвати метод TEST перед виведенням данних.
Визначити та вивести на екран дані про назву та місце знаходження магазинів, товарообіг яких належить діапазону від 3000грн до 20000грн.
Варіант
9, 24
Об’явити клас для збереження даних про картку енергоспоживання (прізвище власника будинка, кількість спожитої енергії, сума до сплати (в грн), сплачено (в грн). Конструктор з параметрами та метод INIT ініціалізують всі данні окрім суми до сплати.
Метод TEST: обчислення суми до сплати для кожної картки, якщо вартість електроенергії 2грн/КВт.
Для масиву об’єктів також визвати метод TEST перед виведенням данних.
Визначити та вивести на екран дані карток всих боржників.
Варіант
10, 25
Об’явити клас для збереження даних про процесори (назва, покоління, об’єм пам’яті, тактова частота).
Метод TEST: визначення та виведення інформації, чи відносяться процесори до 6 покоління.
Визначити середню тактову частоту всих процесорів.
Варіант
11, 26
Об’явити клас для збереження даних про учасника змагання (прізвище, назва спортклуба, час пробігу, швидкість пробігу). Конструктор з параметрами та метод INIT ініціалізують всі данні окрім швидкості.
Метод TEST: визначення швидкость учасника, якщо дистанція пробігу 100м.
Для масиву об’єктів також визвати метод TEST перед виведенням данних.
Визначити та вивести всі дані переможця пробігу.
Варіант
12, 27
Об’явити клас для збереження даних про трикутники (назва трикутника, розмір першої сторони, другої сторони, третьої сторони, периметр. Конструктор з параметрами та метод INIT ініціалізують всі данні окрім периметра.
Метод TEST: обчислення периметра кожного трикутника
Для масиву об’єктів також визвати метод TEST перед виведенням данних.
Визначити та вивести всі дані про трикутники, які мають розмір першої сторони менший, ніж 5см.
Варіант
13, 28
Об’явити клас для збереження даних про вищі учбові заклади (місто знаходження, назва, кількість спеціальностей, кількість бюджетних місць для вступу).
Метод TEST: визначення та виведення інформації, чи має заклад кількість спеціальностей більшу за 7.
Визначити назви учбових закладів, які знаходяться в місті, назва якого починається на букву «З».
Варіант
14, 29
Об’явити клас для збереження даних про автомобіль (модель, вартість, пробіг).
Метод TEST: визначення та виведення інформації, чи має авто пробіг більше 20000 км.
Визначити середню вартість всих авто.
Варіант
15, 30
Об’явити клас для збереження даних про країну (назва, президент, кількість населення, площа).
Метод TEST: визначення та виведення інформації, чи має країна населення більше 1 млн. людей.
Визначити загальну площу країн.
Приклад 1:
class RECTANGLE{ int x, y; //закриті компоненти класурublic: //відкриті компоненти класуint P, S;//в конструкторі з параметрами відбувається// перевірка, чи сторони прямокутника додатніRECTANGLE(int a, in b) { if (x> 0 & & y> 0){x=a; y=b; }else {x=0; y=0; }}//конструктор копіюванняRECTANGLE(RECTANGLE & obj){x=obj.x; y=obj.y; }//деструктор~ RECTANGLE() { }//методи класуvoid Perim() {P=2*(x+y); }void Plosh() {S=x*y); }void Prn() {cout< < " Storoni: " < < x< < " " < < y;cout< < " Perimetr: " < < P;cout< < " Ploshad: " < < S; }};
//Продовження//Функція виведення даних про товарvoid MARKET:: prndata(void){ cout< < " \nInformaciya pro tovar: ";cout< < " \nNazva - " < < name;cout< < " \tKilkist - " < < k;cout< < " \tCina - " < < price; }//Функція введення даних про товарvoid MARKET:: initdata(void){ cout< < " \n===Vveditе dani pro tovar: ===";cout< < " \nNazva - "; cin> > name;cout< < " \nKilkist - "; cin> > k;cout< < " \nCina - "; cin> > price; }//Функція отримання назви товаруchar* MARKET:: getname(void){ return name; }//Функція отримання кількості товаруfloat MARKET:: getkol(void){ return k; }//Функція отримання ціни одиниці товаруfloat MARKET:: getprice(void){ return price; }//Функція обчислення загальної вартості товаруfloat MARKET:: vart(void){ return k*price; }//Тестова частина----------------------------------void main(){ //працює кон-р за замовчуванням для 1 об’єктаMARKET t1;cout< < ”\nВведення даних для 1-го товару: ”;t1.init();//працює кон-р з параметрами для 2 об’єктаMARKET t2(" Shokolad", 3.5, 5.90);//працює конструктор копіювання для 3 об’єктаMARKET t3(t2);
//виведення інформації про всі товариt1.prndata(); cout< < ”Vartist tovaru1 = ”< < t1.vart();t2.prndata(); cout< < ”Vartist tovaru2 = ”< < t2.vart();t3.prndata(); cout< < ”Vartist tovaru3 = ”< < t3.vart();//працює кон-р за замовчуваннямMARKET tov[2]; //створення масиву об’єктів//Введення даних в масив об’єктівfor(int i=0; i< 2; i++){tov[i].initdata(); }//Виведення даних про товари, обчислення вартості кожного товару, обчислення загальної вартостіfloat sum=0.0;for(int i=0; i< 2; i++){ tov[i].prndata();cout< < ”Vartist tovaru = ”< < tov[i].vart();sum+=tov[i].vart();}cout< < ”\nЗагальна вартість всих товарів”< < sum;//Пошук товарів з вартістю більше 115, 50 грн cout< < ”Товари з вартістю більше 115, 50 грн: ”;for(int i=0; i< 2; i++){ if (tov[i].getprice() > 115.50)tov[i].prndata(); cout< < " \n";}//Пошук кількості товарів з назвою на букву «М»int kol=0;for(int i=0; i< 2; i++){ char *n; n=tov[i].getname();if (n[0] == ‘M’) kol++;}cout< < ”Кількість товарів з назвою на букву М = ”< < kol < < ”\n”;}