Website Summary Files Commits Branches @commit @diff @stats
path: root / Week10 / Exercise01
diff options
context:
space:
mode:
Commit7546f0d0da487e16f0a8671c09a46e1cee2bc03a (patch)
Author
 Syndamia <kamen@syndamia.com>
2026-05-02 14:57:36 +0300
Committer
 Syndamia <kamen@syndamia.com>
2026-05-02 14:57:36 +0300
Files6462868cebe114a87ca38252af9a49bce6603286 /Week10/Exercise01
oop-2025-solutions-7546f0d0da487e16f0a8671c09a46e1cee2bc03a.tar
oop-2025-solutions-7546f0d0da487e16f0a8671c09a46e1cee2bc03a.tar.gz
oop-2025-solutions-7546f0d0da487e16f0a8671c09a46e1cee2bc03a.zip
Parentc98c633b7087e3c52f4b05236f3509a9ec5f2bba (diff)
feat(Week10): Add solutions
6 files changed, 58 insertions, 0 deletions
-rw-r--r--Week10/Exercise01/Student.cpp5
-rw-r--r--Week10/Exercise01/Student.h14
-rw-r--r--Week10/Exercise01/Teacher.cpp5
-rw-r--r--Week10/Exercise01/Teacher.h14
-rw-r--r--Week10/Exercise01/User.cpp6
-rw-r--r--Week10/Exercise01/User.h14
diff --git a/Week10/Exercise01/Student.cpp b/Week10/Exercise01/Student.cpp
new file mode 100644
index 0000000..6c8d2ba
--- /dev/null
+++ b/Week10/Exercise01/Student.cpp
@@ -0,0 +1,5 @@
+#include "Student.h"
+
+void Student::Graduate() {
+ graduated = true;
+}
diff --git a/Week10/Exercise01/Student.h b/Week10/Exercise01/Student.h
new file mode 100644
index 0000000..65b1872
--- /dev/null
+++ b/Week10/Exercise01/Student.h
@@ -0,0 +1,14 @@
+#ifndef _STUDENT
+#define _STUDENT
+
+#include "User.h"
+
+class Student : public User {
+ bool graduated;
+ unsigned yearEnrolled;
+
+public:
+ void Graduate();
+};
+
+#endif /* _STUDENT */
diff --git a/Week10/Exercise01/Teacher.cpp b/Week10/Exercise01/Teacher.cpp
new file mode 100644
index 0000000..7cf9029
--- /dev/null
+++ b/Week10/Exercise01/Teacher.cpp
@@ -0,0 +1,5 @@
+#include "Teacher.h"
+
+void Teacher::ChangeStudents(unsigned teachingStudentsCount) {
+ this->teachingStudentsCount = teachingStudentsCount;
+}
diff --git a/Week10/Exercise01/Teacher.h b/Week10/Exercise01/Teacher.h
new file mode 100644
index 0000000..216d40e
--- /dev/null
+++ b/Week10/Exercise01/Teacher.h
@@ -0,0 +1,14 @@
+#ifndef _TEACHER
+#define _TEACHER
+
+#include "User.h"
+
+class Teacher : public User {
+ char subject[1024];
+ unsigned teachingStudentsCount;
+
+public:
+ void ChangeStudents(unsigned teachingStudentsCount);
+};
+
+#endif /* _TEACHER */
diff --git a/Week10/Exercise01/User.cpp b/Week10/Exercise01/User.cpp
new file mode 100644
index 0000000..fce9956
--- /dev/null
+++ b/Week10/Exercise01/User.cpp
@@ -0,0 +1,6 @@
+#include "User.h"
+#include <cstring>
+
+bool User::LogIn(const char* name, const char* password) {
+ return strcmp(this->name, name) == 0 && strcmp(this->password, password) == 0;
+}
diff --git a/Week10/Exercise01/User.h b/Week10/Exercise01/User.h
new file mode 100644
index 0000000..e0afcdc
--- /dev/null
+++ b/Week10/Exercise01/User.h
@@ -0,0 +1,14 @@
+#ifndef _USER
+#define _USER
+
+class User {
+ unsigned ID;
+ char name[1024];
+ char password[128];
+ unsigned yearRegistered;
+
+public:
+ bool LogIn(const char* name, const char* password);
+};
+
+#endif /* _USER */