Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Services / EventService.cpp
diff options
context:
space:
mode:
Commitf13b1031b964b9623f734f3ed793d16db64bf91a (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 11:52:56 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 11:52:56 +0300
Filesd8a0b2af56904411d70b7999af71a0e38648781f /src/Services/EventService.cpp
FMI-OOP-P1_TicketSystem-f13b1031b964b9623f734f3ed793d16db64bf91a.tar
FMI-OOP-P1_TicketSystem-f13b1031b964b9623f734f3ed793d16db64bf91a.tar.gz
FMI-OOP-P1_TicketSystem-f13b1031b964b9623f734f3ed793d16db64bf91a.zip
Parent0ffae376256a1e1ce0b73596389fed2cfc75c7e8 (diff)
Autocommit at 07.05.2022 @ 11:52
1 files changed, 10 insertions, 6 deletions
-rw-r--r--src/Services/EventService.cpp16
diff --git a/src/Services/EventService.cpp b/src/Services/EventService.cpp
index 50fb2a8..58b355f 100644
--- a/src/Services/EventService.cpp
+++ b/src/Services/EventService.cpp
@@ -135,16 +135,19 @@ StatusCode EventService::buyTicket(const char* name, const Date& date, const Tic
return Success;
}
-String EventService::createSeatingString(const char* name, const Date& date, unsigned* seatsPerRow, char* out) {
+void EventService::createSeatingString(const char* name, const Date& date, unsigned* seatsPerRow, char* out) {
+ delete[] out;
+
unsigned eInd = indexOfEvent(name, date);
- if (eInd == events.get_count())
- return "";
+ if (eInd == events.get_count()) {
+ return;
+ }
unsigned rowCount = events[eInd].get_hall().get_rows(), seatsCount = events[eInd].get_hall().get_seatsPerRow();
*seatsPerRow = seatsCount;
- delete[] out;
- out = new char[rowCount * seatsCount];
+ out = new char[rowCount * seatsCount + 1];
+
for (unsigned acc = 0, row = 1; row <= rowCount; row++) {
for (unsigned seat = 1; seat <= seatsCount; seat++, acc++) {
if (events[eInd].get_tickets().contain(Ticket(row, seat)))
@@ -155,5 +158,6 @@ String EventService::createSeatingString(const char* name, const Date& date, uns
out[acc] = ' ';
}
}
- return out;
+
+ out[seatsCount * rowCount] = '\0';
}