Сделать 2 задания, уровень коледжа
https://csbc-edu.github.io/oop/homework/hw03_encapsulation.pdf
Внизу ЕСТЬ ІНДЗ, и там нужно сделать 2 задания до 17:00!
(Два класи) Створіть класи Person (особа) та Product (товар). У кожної особи є ім’я, кошти та корзину товарів. Кожний товар має назву (непорожній рядок) та ціну (невід’ємне число). Розробіть програму, в якій кожна команда відповідає купівлі особою одного товару. Якщо особа може собі дозволити покупку товару, додайте цей товар у її корзину. Якщо грошей недостатньо, виведіть повідомлення ("[Ім’я особи] can't afford [Назва товару]". Перші 2 рядки вводу повинні перелічувати всіх осіб з їх бюджетом та всі товари з їх цінами. Після всіх покупок виведіть для кожної особи в порядку появи всі придбані нею товари. Якщо нічого не придбано, виведіть ім’я особи та повідомлення "Nothing bought". Для від’ємної суми коштів особи слід викинути виняток з текстом "Money cannot be negative", а при порожньому рядку з іменем особи – "Name cannot be empty". Ввід Вивід Pesho=11;Gosho=4 Bread=10;Milk=2; Pesho Bread Gosho Milk Gosho Milk Pesho Milk END Pesho bought Bread Gosho bought Milk Gosho bought Milk Pesho can't afford Milk Pesho - Bread Gosho - Milk, Milk Mimi=0 Kafence=2 Mimi Kafence END Mimi can't afford Kafence Mimi – Nothing bought Jeko=-3 Chushki=1; Jeko Chushki END Money cannot be negative 2. (Калорійність піци) Піца готується з тіста та різних начинок. Змоделюйте клас Pizza, в якому передбачаються поля, що описують назву піци, основу та набір начинок. Кожний інгредієнт повинен мати свій клас з відповідними характеристиками: • тісто може бути білим чи з цільнозернової муки, а також хрустким (crispy), липким (chewy) чи домашнім (homemade) тощо. • начинки можуть включати м’ясні, овочеві, сирні чи соусні добавки. Кожний інгредієнт описується масою в грамах, а також повинен мати метод для обчислення калорійності залежно від типу начинки. Калорійність на грам будемо обчислювати за допомогою спеціальних множників. Наприклад, біле тісто має множник 1.5, липке – 1.1, тобто 100г липкого білого тіста буде мати 100*1.5*1.1 = 330 калорій. Змоделюйте класи таким чином, щоб вони були правильно інкапсульовані та забезпечували публічний метод, який обчислюватиме калорійність кожної піци відповідно до її інгредієнтів. Тісто. Створіть клас, який представлятиме тісто для піци. Він включатиме • тип основи, який може бути білим (множник – 1.5) або цільнозерновим (1.0); • метод приготування, що дає хрустке (0.9), липке (1.1) чи домашнє (1.0) тісто; • масу в грамах. Клас повинен розкривати лише геттер для отримання калорій на грам. Встановіть правильні модифікатори доступу, конструктор, поля та геттери / сеттери. Виконайте валідацію даних в сеттерах: якщо передано некоректне значення основи чи методу приготування, повинен викидатись виняток з повідомленням «Invalid type of dough.». Маса тіста знаходиться в межах від 1 до 200 грамів включно – інакше трапиться виняток з повідомленням "Dough weight should be in the range [1..200].". Протестуйте роботу класу з такими вводом та виводом: Ввід Вивід Dough White Chewy 100 END 330.00 Dough Tip500 Chewy 100 END Invalid type of dough. Dough White Chewy 240 END Dough weight should be in the range [1..200]. Начинки (toppings). Відповідний клас представлятиме 4 типи начинок: м’ясо, овочі, сир та соус. Кожна начинка має масу в грамах та множник для обчислення калорій: • м’ясо – 1.2; • овочі – 0.8; • сир – 1.1; • соус – 0.9. Встановіть правильні модифікатори доступу, конструктор, поля та геттери / сеттери. Валідація дних передбачає передачу коректного типу начинки – інакше буде викинуто виняток з повідомленням "Cannot place [незва некоректного аргументу] on top of your pizza.". Дозволена маса начинки знаходиться в межах від 1 до 50 грам включно. Інакше буде викинуто виняток з повідомленням "[Назва виду начинки] weight should be in the range [1..50].". Протестуйте роботу класів так, щоб зчитувались одне тісто та одна начинка, а виводились їх калорійність: Ввід Вивід Dough White Chewy 100 Topping meat 30 END 330.00 72.00 Dough White chewy 100 Topping Krenvirshi 500 END 330.00 Cannot place Krenvirshi on top of your pizza. Dough White Chewy 100 Topping Meat 500 END 330.00 Meat weight should be in the range [1..50]. Піца. Повинна мати назву піци, набір начинок та тісто. Використайте раніше створені класи, а також додайте відкриті геттери для назви, кількості начинок та загальної кількості калорій (сума калорій окремих інгредієнтів). Розкрийте метод для додавання начинки, відкритий сеттер для тіста і геттер для загальної кількості калорій. Валідація даних передбачає, що назва піци не повинна бути порожнім рядком, але й не довше 15 символів. Інакше повинен викидатись виняток з повідомленням "Pizza name should be between 1 and 15 symbols.". Кількість начинок повинна знаходитись у діапазоні від 1 до 10 включно. Інакше повинен викидатись виняток з повідомленням "Number of toppings should be in range [0..10].". Протестуйте роботу програми на таких випадках: Ввід Вивід Pizza Meatless Dough Wholegrain Crispy 100 Topping Veggies 50 Topping Cheese 50 END Meatless - 370.00 Calories. Pizza Burgas Dough White Homemade 200 Topping Meat 123 END Meat weight should be in the range [1..50]. Pizza Bulgarian Dough White Chewy 100 Number of toppings should be in range [0..10]. Topping Sauce 20 Topping Cheese 50 Topping Cheese 40 Topping Meat 10 Topping Sauce 10 Topping Cheese 30 Topping Cheese 40 Topping Meat 20 Topping Sauce 30 Topping Cheese 25 Topping Cheese 40 Topping Meat 40 END Pizza Bulgarian Dough White Chewy 100 Topping Sirene 50 Topping Cheese 50 Topping Krenvirsh 20 Topping Meat 10 END Cannot place Sirene on top of your pizza.
Актуальные фриланс-проекты в категории C#
Доопрацювання 1С УТ 11 для ТСД Zebra (RDP): різні звукові сигнали при скануванні
1000 UAH
Конфигурация: 1С УТ 11 Адресный склад ТСД Zebra TC26 Работа через RDP Сканирование товаров выполняется в документах приемки, размещения, отбора и других складских операциях. Текущая проблема: Кладовщики работают через ТСД Zebra. При сканировании не всегда замечают сообщения на… C#, Базы данных и SQL ∙ 3 дня 17 часов назад ∙ 6 ставок |