Website Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
Commit76dae1e6fef3641ab9967d6307c20d4aa9719408 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 16:53:53 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 16:53:53 +0300
Files0d36660774bd6176be497321e3382b05f8ef4b1a /src
FMI-OOP-P1_TicketSystem-76dae1e6fef3641ab9967d6307c20d4aa9719408.tar
FMI-OOP-P1_TicketSystem-76dae1e6fef3641ab9967d6307c20d4aa9719408.tar.gz
FMI-OOP-P1_TicketSystem-76dae1e6fef3641ab9967d6307c20d4aa9719408.zip
Parentd5186a043e53375e5e0d83f47f99c8282da5db8f (diff)
Autocommit at 07.05.2022 @ 16:53
5 files changed, 20 insertions, 6 deletions
-rw-r--r--src/Generic/String/String.cpp18
-rw-r--r--src/Generic/String/String.h2
-rw-r--r--src/Models/Event.cpp2
-rw-r--r--src/Models/Hall.cpp2
-rw-r--r--src/Models/Hall.h2
diff --git a/src/Generic/String/String.cpp b/src/Generic/String/String.cpp
index 0b3bf1f..6b50c64 100644
--- a/src/Generic/String/String.cpp
+++ b/src/Generic/String/String.cpp
@@ -68,6 +68,16 @@ String& String::operator=(String&& other) {
return *this;
}
+void String::read(std::istream& istr) {
+ istr.read((char*)&length, sizeof(length));
+ istr.read(str, sizeof(char) * length);
+}
+
+void String::write(std::ostream& ostr) const {
+ ostr.write((char*)&length, sizeof(length));
+ ostr.write(str, sizeof(char) * length);
+}
+
int String::compare(const String& other) const {
return strcmp(str, other.str);
}
@@ -77,8 +87,12 @@ char& String::operator[](unsigned index) {
}
std::istream& operator>>(std::istream& istr, String& event) {
- istr >> event.str;
+ istr.getline(event.str, 1024);
+ event.length = strlen(event.str);
return istr;
}
-friend std::ostream& operator<<(std::ostream& ostr, const String& event);
+
+std::ostream& operator<<(std::ostream& ostr, const String& event) {
+ return ostr << event.str;
+}
diff --git a/src/Generic/String/String.h b/src/Generic/String/String.h
index 5f1dbfa..88deed9 100644
--- a/src/Generic/String/String.h
+++ b/src/Generic/String/String.h
@@ -26,7 +26,7 @@ public:
String& operator=(String&& other);
void read(std::istream& istr);
- void write(std::ostream& ostr);
+ void write(std::ostream& ostr) const;
int compare(const String& other) const;
char& operator[](unsigned index);
diff --git a/src/Models/Event.cpp b/src/Models/Event.cpp
index 71bf63a..18d0f91 100644
--- a/src/Models/Event.cpp
+++ b/src/Models/Event.cpp
@@ -30,7 +30,7 @@ const Date& Event::get_date() const {
}
void Event::read(std::istream& istr) {
- hall.read(istr);
+ istr.read(istr.hall, sizeof(hall));
name.read(istr);
date.read(istr);
tickets.read(istr);
diff --git a/src/Models/Hall.cpp b/src/Models/Hall.cpp
index b1c7ed3..41644df 100644
--- a/src/Models/Hall.cpp
+++ b/src/Models/Hall.cpp
@@ -27,7 +27,7 @@ void Hall::read(std::istream& istr) {
istr.read((char*)&seatsPerRow, sizeof(seatsPerRow));
}
-void Hall::write(std::ostream& ostr) {
+void Hall::write(std::ostream& ostr) const {
ostr.write((char*)&number, sizeof(number));
ostr.write((char*)&rows, sizeof(rows));
ostr.write((char*)&seatsPerRow, sizeof(seatsPerRow));
diff --git a/src/Models/Hall.h b/src/Models/Hall.h
index 3cdcac4..af7acb1 100644
--- a/src/Models/Hall.h
+++ b/src/Models/Hall.h
@@ -19,7 +19,7 @@ public:
unsigned get_seatsPerRow() const;
void read(std::istream& istr);
- void write(std::ostream& ostr);
+ void write(std::ostream& ostr) const;
int compare(const Hall& other) const;
friend std::istream& operator>>(std::istream& istr, Hall& hall);