48 lines
830 B
C++
48 lines
830 B
C++
#pragma once
|
|
|
|
|
|
class Pizzas {
|
|
public:
|
|
static Pizzas& getInstance() {
|
|
static Pizzas instance;
|
|
return instance;
|
|
}
|
|
enum Dough {
|
|
THIN = 1,
|
|
TRADITIONAL = 3
|
|
};
|
|
|
|
struct Variation {
|
|
uint32_t id;
|
|
uint16_t price;
|
|
Dough dough;
|
|
uint8_t size;
|
|
};
|
|
|
|
struct Pizza {
|
|
uint16_t id;
|
|
char name[100];
|
|
uint16_t price;
|
|
Variation variations[20];
|
|
uint8_t variations_count = 0;
|
|
};
|
|
|
|
Pizza* get_all() {
|
|
return pizzas;
|
|
}
|
|
Pizza get(uint8_t index) {
|
|
return pizzas[index];
|
|
}
|
|
uint8_t get_count() {
|
|
return pizzas_count;
|
|
}
|
|
|
|
void add_pizza(Pizza pizza) {
|
|
pizzas[pizzas_count] = pizza;
|
|
pizzas_count++;
|
|
}
|
|
private:
|
|
Pizzas() {};
|
|
Pizza pizzas[100];
|
|
uint8_t pizzas_count = 0;
|
|
}; |