blob: af78b8351488e5ebd556f09922be28a01b20f018 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# FMI-OOP-P1_TicketSystem
TicketSystem: Project 1 from module OOP in FMI Uni-Sofia
## Initial structure

<details>
<summary>Diagram source</summary>
```
#title: FMI-OOP-P1_TicketSystem Class Diagram
#background: #fdf6e3
#bendSize: 0
#fillArrows: true
#lineWidth: 2
#.groupsfe: title=italic fill=#b2ee97
#.groupv: title=italic fill=#97c8ee
#.groupsc: title=italic
[<groupsfe> System for events
[Ticket|
unsigned row
unsigned seat
]
[Reservation|
char\[6\] password
unsigned row
unsigned seat
String note
]
[Event|
List<Ticket> _tickets
List<Reservation> _reservations|
Date date
String name
Hall* hall|
reserveTicket()
cancelReservation()
buyTicket()
]
[Ticket]<--[Event]
[Reservation]<--[Event]
[EventSystem|
createEvent()
cancelEvent()
reserveTicket(char*, Date, unsigned, unsigned)
cancelReservation()
buyTicket()
queryFreeSeats(Event)
queryReservations(Event)
queryBoughtTickets(Date, Date, Hall)
queryMostVisited()
queryInsufficientlyVisited()
]
[Event]<--[EventSystem]
]
[<groupv> Venue
[Hall|
int number
unsigned rowCount
unsigned seatsPerRow
]
[Venue|
List<Hall> halls
EventSystem es
]
[Hall]<--[Venue]
]
[System for events]<--[Venue]
[<groupsc> Standard Classes
[List<T>|
T _elements*
unsigned _count
unsigned _length|
add(T elem)
operator\[\](unsigned index)
Rule of 4
Move semantics
Operators
]
[Date|
unsigned _day
unsigned _month
int _year
unsigned _hour
unsigned _minute
]
[String|
char* _str
unsigned _length
unsigned _count|
Rule of 4
Move semantics
Operators
]
[Command|
String name
void (*exec)()
]
[Menu|
List<Command> _commands|
navigate()
]
[Command]<--[Menu]
[UserInterface|
List<Menu> _menus|
start()
]
[Menu]<--[UserInterface]
[List<T>]-/-[String]
[String]-/-[Date]
]
```
</details>
|