Website Summary Files Commits Branches @commit @diff @stats
path: root / Week03 / Exercise01 / User.cpp
diff options
context:
space:
mode:
Commit5624cd9b63bec13fc464a3d7820d703abd8de113 (patch)
Author
 Syndamia <kamen@syndamia.com>
2026-03-08 19:54:32 +0200
Committer
 Syndamia <kamen@syndamia.com>
2026-03-08 19:54:32 +0200
Files8d9915e71a7b9e757752fe3b379138804e51a8b7 /Week03/Exercise01/User.cpp
oop-2025-solutions-5624cd9b63bec13fc464a3d7820d703abd8de113.tar
oop-2025-solutions-5624cd9b63bec13fc464a3d7820d703abd8de113.tar.gz
oop-2025-solutions-5624cd9b63bec13fc464a3d7820d703abd8de113.zip
Parentf18c44909c604a01bb0265d006a84223ee88d603 (diff)
feat(Week03): Add solution to first exercise
1 files changed, 33 insertions, 0 deletions
-rw-r--r--Week03/Exercise01/User.cpp33
diff --git a/Week03/Exercise01/User.cpp b/Week03/Exercise01/User.cpp
new file mode 100644
index 0000000..0dca648
--- /dev/null
+++ b/Week03/Exercise01/User.cpp
@@ -0,0 +1,33 @@
+#include <iostream>
+#include <cstring>
+#include "User.h"
+
+void UserArray::add(const User& user) {
+ if (count >= allocated) {
+ std::cout << "No more users are allowed!" << std::endl;
+ return;
+ }
+
+ users[count++] = user;
+}
+
+User* UserArray::find(char* username) {
+ for (unsigned i = 0; i < count; ++i)
+ if (strcmp(username, users[i].name) == 0)
+ return &users[i];
+ return nullptr;
+}
+
+UserArray newUserArray(unsigned allocatedSize) {
+ UserArray ua;
+ ua.users = new User[allocatedSize];
+ ua.count = 0;
+ ua.allocated = allocatedSize;
+ return ua;
+}
+
+void deleteUserArray(UserArray& ua) {
+ delete[] ua.users;
+ ua.users = nullptr;
+ ua.count = ua.allocated = 0;
+}