Website Summary Files Commits Branches @commit @diff @stats
path: root / Utills / Kindle / Book.h
diff options
context:
space:
mode:
1 files changed, 34 insertions, 0 deletions
-rw-r--r--Utills/Kindle/Book.h34
diff --git a/Utills/Kindle/Book.h b/Utills/Kindle/Book.h
new file mode 100644
index 0000000..29c4f13
--- /dev/null
+++ b/Utills/Kindle/Book.h
@@ -0,0 +1,34 @@
+#pragma once
+#include"vector.hpp"
+#include"Page.h"
+#include"Pair.hpp"
+#include"serialize.h"
+
+class Book {
+private:
+ string author;
+ string title;
+ Vector<Pair<string, unsigned>> ratings; // User name + rate
+ Vector<Page> data; // Pages
+ Vector<Pair<string, string>> comments; // commenter's name + comment
+
+ void addRating(unsigned short r, const string& name);
+
+ void write(unsigned pagesCount);
+ void displayBook() const;
+
+ void showComments() const;
+ void showRates() const;
+ void print() const;
+ void displayHelpMenu() const;
+public:
+ Book() {}
+ Book(const string& author, const string& title);
+
+ void writeToFile(std::ofstream& outFile) const;
+ void readFromFile(std::ifstream& inFile);
+ double getAvarageRating() const;
+
+ friend class Kindle;
+};
+