1. Создайте программу, которая будет моделировать список задач на день. Начните с пустого списка задач…
1. Создайте программу, которая будет моделировать список задач на день. Начните с пустого списка задач (QVector, QString). Пользователь может добавлять задачи в список, удалять задачи по индексу и просматривать список задач. Реализуйте меню для этих операций.
2. Разработайте программу для управления заказами в ресторане. Используйте QQueue для хранения заказов, которые ожидают готовности. Каждый заказ может быть представлен строкой с названиями заказанных блюд и напитков. Реализуйте операции добавления нового заказа в конец очереди, обработки заказа (удаление из начала очереди) и просмотра текущего списка ожидающих заказов.
Ответ:
from abc import ABC, abstractmethod
class Dish(ABC):
@abstractmethod
def get_description(self):
pass
@abstractmethod
def get_price(self):
pass
class Starter(Dish):
def __init__(self, description, price):
self.description = description
self.price = price
def get_description(self):
return self.description
def get_price(self):
return self.price
class MainCourse(Dish):
def __init__(self, description, price):
self.description = description
self.price = price
def get_description(self):
return self.description
def get_price(self):
return self.price
class Dessert(Dish):
def __init__(self, description, price):
self.description = description
self.price = price
def get_description(self):
return self.description
def get_price(self):
return self.price
class Order(ABC):
@abstractmethod
def add_dish(self, dish):
pass
@abstractmethod
def remove_dish(self, dish):
pass
@abstractmethod
def calculate_total(self):
pass
class TableOrder(Order):
def __init__(self):
self.dishes = []
def add_dish(self, dish):
self.dishes.append(dish)
def remove_dish(self, dish):
self.dishes.remove(dish)
def calculate_total(self):
total = 0
for dish in self.dishes:
total += dish.get_price()
return total
class DeliveryOrder(Order):
def __init__(self):
self.dishes = []
def add_dish(self, dish):
self.dishes.append(dish)
def remove_dish(self, dish):
self.dishes.remove(dish)
def calculate_total(self):
total = 0
for dish in self.dishes:
total += dish.get_price()
return total
Объяснение: