Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Services / EventService.cpp
diff options
context:
space:
mode:
Commit0ffae376256a1e1ce0b73596389fed2cfc75c7e8 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 11:47:54 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 11:47:54 +0300
Filesf6d44674b679a565f182202b3bbf4e3840cf2408 /src/Services/EventService.cpp
FMI-OOP-P1_TicketSystem-0ffae376256a1e1ce0b73596389fed2cfc75c7e8.tar
FMI-OOP-P1_TicketSystem-0ffae376256a1e1ce0b73596389fed2cfc75c7e8.tar.gz
FMI-OOP-P1_TicketSystem-0ffae376256a1e1ce0b73596389fed2cfc75c7e8.zip
Parent26cb9982828a8bf5898127cf0b50eaef499b572b (diff)
Autocommit at 07.05.2022 @ 11:47
1 files changed, 8 insertions, 7 deletions
-rw-r--r--src/Services/EventService.cpp15
diff --git a/src/Services/EventService.cpp b/src/Services/EventService.cpp
index 56f513e..50fb2a8 100644
--- a/src/Services/EventService.cpp
+++ b/src/Services/EventService.cpp
@@ -135,7 +135,7 @@ StatusCode EventService::buyTicket(const char* name, const Date& date, const Tic
return Success;
}
-String EventService::createSeatingString(const char* name, const Date& date, unsigned* seatsPerRow) {
+String EventService::createSeatingString(const char* name, const Date& date, unsigned* seatsPerRow, char* out) {
unsigned eInd = indexOfEvent(name, date);
if (eInd == events.get_count())
return "";
@@ -143,15 +143,16 @@ String EventService::createSeatingString(const char* name, const Date& date, uns
unsigned rowCount = events[eInd].get_hall().get_rows(), seatsCount = events[eInd].get_hall().get_seatsPerRow();
*seatsPerRow = seatsCount;
- String out;
- for (unsigned row = 1; row <= rowCount; row++) {
- for (unsigned seat = 1; seat <= seatsCount; seat++) {
+ delete[] out;
+ out = new char[rowCount * seatsCount];
+ 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)))
- out += 'B';
+ out[acc] = 'B';
else if (events[eInd].get_reservations().contain(Ticket(row, seat)))
- out += 'R';
+ out[acc] = 'R';
else
- out += ' ';
+ out[acc] = ' ';
}
}
return out;