Website Summary Files Commits Branches @commit @diff @stats
path: root / Week10 / Exercise01
diff options
context:
space:
mode:
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 */