diff options
Autocommit at 02.05.2022 @ 20:10
3 files changed, 20 insertions, 2 deletions
| -rw-r--r-- | src/EventSystem/Reservation.cpp | 11 | ||||
| -rw-r--r-- | src/EventSystem/Ticket.cpp | 5 | ||||
| -rw-r--r-- | src/EventSystem/Ticket.h | 6 |
diff --git a/src/EventSystem/Reservation.cpp b/src/EventSystem/Reservation.cpp index 927b11a..ba12547 100644 --- a/src/EventSystem/Reservation.cpp +++ b/src/EventSystem/Reservation.cpp @@ -1,5 +1,6 @@ #include "Reservation.h" #include <cstring> +#include <ostream> Reservation::Reservation() : Reservation(Ticket(), "", "") {} @@ -11,6 +12,12 @@ Reservation::Reservation(const Ticket& ticket, const char* password, const char* void Reservation::read(std::istream& istr) { ticket.read(istr); - istr.read(password, sizeof(char) * 8); - istr.read(note, sizeof(char) * 32); + istr.read(password, sizeof(password)); + istr.read(note, sizeof(note)); +} + +void Reservation::write(std::ostream& ostr) const { + ticket.write(ostr); + ostr.write(password, sizeof(password)); + ostr.write(note, sizeof(note)); } diff --git a/src/EventSystem/Ticket.cpp b/src/EventSystem/Ticket.cpp index b616888..2c9b57a 100644 --- a/src/EventSystem/Ticket.cpp +++ b/src/EventSystem/Ticket.cpp @@ -14,3 +14,8 @@ unsigned Ticket::get_row() const { unsigned Ticket::get_seat() const { return seat; } + +void Ticket::read(std::istream& istr) { + istr.read((char*)&row, sizeof(row)); + istr.read((char*)&row, sizeof(seat)); +} diff --git a/src/EventSystem/Ticket.h b/src/EventSystem/Ticket.h index 159c6fa..dc87a2f 100644 --- a/src/EventSystem/Ticket.h +++ b/src/EventSystem/Ticket.h @@ -1,6 +1,9 @@ #ifndef HEADER_EVENTSYSTEM_TICKET #define HEADER_EVENTSYSTEM_TICKET +#include <istream> +#include <ostream> + class Ticket { unsigned row; unsigned seat; @@ -11,6 +14,9 @@ public: unsigned get_row() const; unsigned get_seat() const; + + void read(std::istream& istr); + void write(std::ostream& ostr) const; }; #endif |
