Website Summary Files Commits Branches @commit @diff @stats
path: root / Utills / Kindle / Kindle.h
diff options
context:
space:
mode:
Commit414aec98b546d11698af7fdcb441e8080da6e46a (patch)
Author
 Stoycho Kyosev <68247567+stoychoX@users.noreply.github.com>
2022-05-12 22:21:57 +0300
Committer
 GitHub <noreply@github.com>
2022-05-12 22:21:57 +0300
Filesb8747c23acce8a9c91ad3364f7bd020cc3aa204e /Utills/Kindle/Kindle.h
Object-oriented_programming_FMI-414aec98b546d11698af7fdcb441e8080da6e46a.tar
Object-oriented_programming_FMI-414aec98b546d11698af7fdcb441e8080da6e46a.tar.gz
Object-oriented_programming_FMI-414aec98b546d11698af7fdcb441e8080da6e46a.zip
Parentfdf22bff479c48991ea769ffe3964d50678c5ffb (diff)
Add files via upload
1 files changed, 55 insertions, 0 deletions
-rw-r--r--Utills/Kindle/Kindle.h55
diff --git a/Utills/Kindle/Kindle.h b/Utills/Kindle/Kindle.h
new file mode 100644
index 0000000..79bcbd3
--- /dev/null
+++ b/Utills/Kindle/Kindle.h
@@ -0,0 +1,55 @@
+#pragma once
+#include"vector.hpp"
+#include"Book.h"
+#include"User.h"
+#include"Pair.hpp"
+#include<iostream>
+#include<cstring>
+#include<fstream>
+
+class Kindle {
+private:
+ Vector<Book> lib;
+ Vector<User> users;
+
+ // Helper functions
+ int findBookIndex(const string& name) const;
+ int findUserIndex(const string& name) const;
+
+ // did user read the book?
+ bool userReadTheBook(const User& currentUser, int bookIndex) const;
+
+ // does user exist?
+ bool existUser(const string& userName) const;
+
+ // Functions used by user
+ void readBookDialog(User& reader);
+ void writeBookDialog(User& writer);
+
+ void rateBookDialog(const User& rater);
+ void commentOnBookDialog(const User& commenter);
+
+ void displayCommentsDialog() const;
+ void displayRatesDialog() const;
+
+ // TODO: Change book (add or remove page etc.)
+
+ // Functions used by main dialog
+ void displayLoginDialog();
+ void displaySignupDialog();
+ void displayUserDialog(User& currentUser);
+
+ void saveFileDialog() const;
+ void readFileDialog();
+
+ void viewBooks() const;
+ void showHelpDialog() const;
+
+ // read && write
+ void saveToFile(const char* filePath) const;
+ void readFromFile(const char* filePath);
+public:
+ // The only function used by our Kindle class
+ void display();
+};
+